【发布时间】:2019-07-05 14:53:23
【问题描述】:
我需要通过过程中的数据更新每个空行中的列。
问题是我需要为每条记录设置一个唯一值。过程返回它,但我不知道如何实现它。
到目前为止,我得到的结果在每一行中都是相同的 - 请记住,当我执行过程时,它会检查表中的现有值并给我唯一的值。如何通过此过程每次更新其他值?
declare @ean varchar(40)
exec dbo.generateEAN 1, '', @ean output
update t
set Twr_Ean = @ean
from dbo.table t
where t.Code = ''
【问题讨论】:
-
为什么需要 SP? SP代码是什么? "Empty" 是什么意思,是指 '' 还是
NULL?请提供 SP 代码。 -
你能分享
generateEAN代码吗?如果可以对其进行重构以返回 EAN 表,则可以创建用于更新表的相当简单的脚本。否则最后一个资源是一个循环。 -
我不完全确定这是真的,但听起来你想将你的函数应用于表中的每一行,对我来说这听起来像是研究
CROSS APPLY的理由。
标签: sql sql-server tsql procedure