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

时间:2019-07-05 14:53:23

标签: sql sql-server tsql procedure

我需要通过过程中的数据来更新每个空行中的列。

问题是我需要为每个记录分配一个唯一值。过程返回它,但我不知道如何实现它。

到目前为止,我得到的结果在每一行中都是相同的-请记住,当我执行过程时,它会检查表中的现有值并为我提供唯一值。如何通过此过程每次更新其他值?

CONCAT(t1.col1,t1.col2,t1.col3)

1 个答案:

答案 0 :(得分:0)

尝试标量函数?内联更新语句可能比存储过程更容易。这是一个简单的片段。但是,当处理大型数据集时,性能会下降。您可能需要重新考虑如何解决问题。

  

创建函数dbo.ufn_mypower(@x int)
  以执行者作为调用者返回int   作为
  开始返回功率(@x,2)
  结束
  去

     

创建表updatewithfunction    (originalvalue int null
    ,calculatedvalue int null)

     

插入updatewithfunction(originalvalue)   价值观    (1),(2),(3),(4),(5),(6)

     

更新updatewith功能   设置计算值= dbo.ufn_mypower(原始值)
  其中计算值为null,原始值> = 4

     

从updatewithfunction选择*