how to set unique id to each row in a column on SQL Server
Is there a way to set some column of each row in a table to so开发者_如何学Cme unique value e.g.
update mytable set myCol=rownum() 
using SQL (not T/SQL) on SQL Server 2000. I can't touch the schema but I do have a spare column or two.
Provided that you have a primary key, you can generate a unique value by counting rows.  For example (replace #t with your table's name):
update  t
set     t.col1 = (select COUNT(*) from #t t2 where t.pk >= t2.pk)
from    #t t
If you have a varchar(36) or larger, you can generate GUID's, which are guaranteed to be unique:
update  #t
set     col1 = NEWID()
If you have neither, you can use a variable. This technique is frowned upon because it's not set based, but it works pretty well:
declare @i int
set @i = 1
update  #t
set     col1 = @i
,       @i = @i + 1
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论