gpt4 book ai didi

sql - 如果选择 NULL,则保留单元格的原始值 MS SQL Server 2008

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:32 25 4
gpt4 key购买 nike

UPDATE  [MyDatabase].[dbo].[Device] 
SET nDeviceTypeID =(SELECT nDeviceTypeID FROM
DeviceType WHERE sDisplayName =COALESCE (@Role,sDisplayName))
WHERE nDeviceID IN (SELECT nDeviceID FROM [MyDatabase].[dbo].[AddressList]
WHERE sNetworkAddress LIKE '%' + @NetworkAddress2 + '%')

我有上面的更新语句,可以在选择参数时更新单元格。但是,当参数设置为 null 时,更新不会执行,这很好,但我宁愿保留单元格的原始值而不执行任何更新,而不是发回错误消息。关于我做错了什么或哪里做错了?

编辑 1网络地址参数永远不会为 null,所以我只需要确保 @Role 不为 NULL。如果@Role 为 NULL,我想保留单元格的原始值。

最佳答案

试试这个:

IF (@Role IS NOT NULL AND @NetworkAddress2 IS NOT NULL)
BEGIN

UPDATE [MyDatabase].[dbo].[Device]
SET nDeviceTypeID =(SELECT nDeviceTypeID FROM
DeviceType WHERE sDisplayName =COALESCE (@Role,sDisplayName))
WHERE nDeviceID IN (SELECT nDeviceID FROM [MyDatabase].[dbo].[AddressList]
WHERE sNetworkAddress LIKE '%' + @NetworkAddress2 + '%')

END

关于sql - 如果选择 NULL,则保留单元格的原始值 MS SQL Server 2008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16334364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com