質問: uniqueidentifier列を追加して値を挿入する方法 どんな体でもよろしいですか、ここでいくつかのアイデアを教えてください。 189999行の巨大なテーブルがあります。その中間値のみを選択する必要があります。どうすればできますか。一意の識別子の列を追加しました。値を挿入するにはどうすればよいですか。提案してください。私は本当にあなたの助けに感謝します。私は答えを受け入れませんでした。私はそれをする方法を前に知りませんでした。皆さん、ありがとうございました
回答: これは問題なく動作するはずです。update table set uniqueidentifiercolumn = newid() where ... 単一のセットベースのステートメントで更新を実行すると、各行に異なるguidが入力されることに注意してください。サンプルコードcreate table dbo.hugetable ( colid int identity primary key, colguid uniqueidentifier, colint int ) declare @ct int set @ct = 0 while @ct < 10 begin set @ct = @ct + 1 insert into dbo.hugetable (colint) values (@ct) end go select count(*) as ct from dbo.hugetable update dbo.hugetable set colguid = newid() where colid between 3 and 7 select * from dbo.hugetable 結果 ct ----------- 10 colid colguid colint ----------- ------------------------------------ ----------- 1 null 1 2 null 2 3 e45e13d8-cff0-4fc7-b7c9-1d53e95c502d 3 4 33c3ccbc-b6bb-4caa-ab10-338aa95f366e 4 5 82136767-396e-4b33-b9dd-ffd30fcf4680 5 6 efa24ec9-f8f9-47cf-839f-d588f69d167f 6 7 546f7c14-bdda-4226-b45c-b0ddcd43e7db 7 8 null 8 9 null 9 10 null 10