首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一列中迭代清华的每一行并更新

在一列中迭代清华的每一行并更新
EN

Stack Overflow用户
提问于 2014-02-26 03:19:08
回答 1查看 164关注 0票数 0

我有一个名为"Subject“的sql server表列。

代码语言:javascript
复制
UPDATE mytable SET SUBJECT=HASHBYTES('SHA1',SUBJECT)from  mytable 

上面的查询在subject列中散列整行..。

代码语言:javascript
复制
0x0431A163506AE958501A2AA30FA12513C3CE599A
0x0431A163506AE958501A2AA30FA12513C3CE599A
0x0431A163506AE958501A2AA30FA12513C3CE599A

对于subject列中的每个记录,输出行值都是相同的。

我需要读取每一行,并对其进行散列和更新,而不是基于颜色的散列。我怎么能这么做。

代码语言:javascript
复制
0x0431A163506AE958501A2AA30FA12513C3CE599A
0x0431A163506AE958501A2AA30FA12513C3CE593D
0x0431A163506AE958501A2AA30FA12513C3CE592F
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-26 03:56:38

这假设您的主键名为subjectID。

代码语言:javascript
复制
DECLARE @currentKEY INT
DECLARE @maxKey INT

SELECT @currentKey = MIN(subjectID), @maxKey = MAX(subjectID) FROM mytable

WHILE @currentKey <= @maxKEY
BEGIN
  UPDATE myTable
  SET SUBJECT = HASHBYTES('SHA1', SUBJECT)
  WHERE subjectID = @currentKEY

  SELECT @currentKey = MIN(subjectID) FROM mytable WHERE subjectID > @currentKey
END

如果你想把它作为一个光标来做,我也可以教你怎么做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22031019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档