DECLARE @SQL NVARCHAR(1000) DECLARE @TableName Varchar(100) DECLARE myCur CURSOR FOR SELECT object_name([object_id]) FROM sys.all_columns WHERE [object_id] IN (SELECT [object_id] FROM sys.all_objects WHERE [type] = 'U' AND NAME LIKE 'gTest%' ) AND name = 'Del_Date' OPEN myCur FETCH NEXT FROM myCur INTO @TableName WHILE @@FETCH_STATUS = 0 BEGIN SET @SQL = N'EXECUTE sp_rename N''dbo.' + @TableName + '.Del_Date'', N''DelDate'', ''COLUMN'' ' PRINT @SQL -- EXEC sp_executesql @sql FETCH NEXT FROM myCur INTO @TableName END CLOSE myCur DEALLOCATE myCur
create TABLE TestA ( ID INT PRIMARY KEY, Score INT, Sort INT ) DECLARE @N INT SET @N = 1 WHILE @N <= 100000 BEGIN INSERT INTO TestA(ID,Score) SELECT @N,@N SET @N = @N + 1 END ;WITH T AS ( SELECT *, DENSE_RANK() OVER (ORDER BY Score) AS NewSort FROM TestA) UPDATE T SET Sort = NewSort ;