【SQL】在原表中创建标识列ID和CreateTime,并赋值

时间:2020-05-23 17:22:18   收藏:0   阅读:67
SELECT ROW_NUMBER() OVER ( ORDER BY Location ) i,* INTO #A FROM [GMSToolManage].dbo.[Location];
DECLARE @count INT;
SELECT @count=COUNT(1) FROM #A; 
DECLARE @i INT=1;
WHILE(@i<=@count)
BEGIN
  PRINT @i
    UPDATE [GMSToolManage].dbo.[Location]
        SET ID=@i,
                CreateTime=GETDATE()
        FROM [GMSToolManage].dbo.[Location] T1
      JOIN #A 
        ON #A.i=@i AND #A.Location=T1.Location AND #A.Bin=T1.Bin
    SET @i=@i+1;  
END
if OBJECT_ID(tempdb..#A) is not null drop table #A;

 

原文:https://www.cnblogs.com/Andrew-aq/p/12943346.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!