首页 > 解决方案 > 如果 MAC 地址不在数据库中,则添加它,否则忽略它并且不添加任何内容

问题描述

我刚刚完成项目的开发,但出现了一个问题,在下面的代码中,假设当连接了具有不同 MAC 地址的新设备并且 MAC ADRESS 不在数据库表中时,它将插入到 Bi_dispositivo 表中那个新的mac,但是如果设备已经在表中注册了MAC地址,它会忽略它,但它不起作用我正在输入一个新的MAC地址,它只是没有添加有人可以解释我的意思程序做错了吗?

程序:

ALTER PROCEDURE [dbo].[dbo.Bi_DispositivoProced]



@disp_mac nvarchar(50),
@disp_nom nvarchar(50),
@ID_interno_cc Int
as
begin

declare @dispositivo INT = (select ID_interno_disp from Bi_dispositivo where disp_mac=@disp_mac)

if @dispositivo = null
begin
insert into Bi_dispositivo(disp_mac, disp_nom, ID_interno_cc)
values(@disp_mac,@disp_nom,@ID_interno_cc)
end

select ID_interno_disp 
from Bi_dispositivo 
where disp_mac=@disp_mac

end 

标签: sqlsql-servertsql

解决方案


比较 withnull必须始终与is nullnot with执行= null,因为null未确定,所以它等于没有。

if @dispositivo is null

推荐阅读