我正在使用几个以前没有uniqueidentifier列的数据库中的多个现有表。我已经添加了这个专栏,但是我想知道是否有一个SQL方法可以用来为每个列分配他们自己的GUID。我使用VB.Net,我知道我可以在那里做,但考虑到可能需要大量时间循环的表的大小和数量。
我有这个,它会为每一行分配相同的GUID,但我想知道是否有一种干净的方法来重置SQL语法中的每条记录GUID?
DECLARE @NewGUID uniqueidentifier
SET @NewGUID = NEWID()
UPDATE tblSample
SET [GUID] = @NewGUID
WHERE GUID IS NULL
任何意见都会受到赞赏。
答案 0 :(得分:4)
直接将NEWID()分配给列,而不是将一个值存储在变量中:
UPDATE tblSample SET [GUID] = NEWID() WHERE GUID IS NULL