繁体   English   中英

通过执行T-SQL过程更新表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM