[英]Update on table by executing a T-SQL procedure
我需要通过过程中的数据更新每个空行中的列。
问题是我需要每个记录的唯一值。 过程返回它,但是我不知道如何实现它。
到目前为止,我得到的结果在每一行中都是相同的-请记住,当我执行过程时,它会检查表中的现有值并为我提供唯一值。 如何通过此过程每次更新其他值?
declare @ean varchar(40)
exec dbo.generateEAN 1, '', @ean output
update t
set Twr_Ean = @ean
from dbo.table t
where t.Code = ''
尝试标量函数? 内联更新语句可能比存储过程更容易。 这是一个简单的片段。 但是,当处理大型数据集时,性能会下降。 您可能需要重新考虑如何解决问题。
创建函数dbo.ufn_mypower(@x int)
返回int,其执行者为as
开始返回功率(@x,2)
结束
走创建表updatewithfunction(originalvalue int null
,calculatedvalue int null)插入updatewithfunction(originalvalue)值(1),(2),(3),(4),(5),(6)
更新updatewith函数设置计算值= dbo.ufn_mypower(原始值)
其中计算值为null,原始值> = 4选择* from updatewithfunction
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.