为列中的每一行生成 guid

2021-09-10 00:00:00 sql tsql sql-server

我有一个包含一列表的存储过程,我需要为该列中的每一行生成一个 NEWID().我只能通过循环来完成此操作吗?

I Have a stored procedure that has a table with one column and I need to generate a NEWID() for each row in that column. Would I only be able to accomplish this with a loop?

+---+    +--------------------------------------+---+
| a |    | FD16A8B5-DBE6-46AB-A59A-6B6674E9A78D | a |
| b | => | 9E4A6EE6-1C95-4C7F-A666-F88B32D24B59 | b |
| c |    | 468C0B23-5A7E-404E-A9CB-F624BDA476DA | c |
+---+    +--------------------------------------+---+

推荐答案

您应该能够从表中进行选择并包含 newid() 以生成每一行的值:

You should be able to select from your table and include the newid() to generate the value for each row:

select newid(), col
from yourtable;

参见SQL Fiddle with Demo

相关文章