sql - 如果 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
解决方案
比较 withnull
必须始终与is null
not with执行= null
,因为null
未确定,所以它等于没有。
if @dispositivo is null
推荐阅读
- python-3.x - 将数据从 csv 加载到 pandas 数据框会给出 NaN
- angular - 在 TypeScript 中过滤嵌套对象数组
- php - 带有 LEFT JOIN 的 SQL 中复杂和嵌套的 WHERE 条件
- flutter - 找不到参数的方法 implementation() [com.android.support:support-annotations:28.0.0]
- angular - 如何防止 Angular 在问号后切断 url 参数?
- selenium-webdriver - 如何单击机器人框架中的 reCAPTCHA 复选框?
- node.js - NestJs:从另一个模块导入服务
- excel - 检查excel范围是否有VBA的形状
- objective-c - 获取相机列表
- elasticsearch - 在 Elasticsearch 中搜索包含“not”关键字的字符串