Saturday, March 10, 2012

change the same column names in all tables using cursors

Create procedure [dbo].[sp_RenameColumName]
@OldColumnName nvarchar(200),
@NewColumnName nvarchar(200)
as
Declare @column_name nvarchar(200)
DECLARE db_cursor CURSOR FOR
SELECT
(t.name+'.'+c.name) AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%'+@OldColumnName+'%'
Begin
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @column_name
WHILE @@FETCH_STATUS = 0
BEGIN
exec sp_rename @column_name,@NewColumnName, 'COLUMN'
FETCH NEXT FROM db_cursor into @column_name
END
CLOSE db_cursor
DEALLOCATE db_cursor
End

Wednesday, March 7, 2012