use TestingDB
go
SET NOCOUNT ON
DECLARE @cnt INT
DECLARE @table VARCHAR(128)
DECLARE @schema VARCHAR(100)
DECLARE @cmd VARCHAR(500)
IF OBJECT_ID('tempdb..#LISTOFTABLES') IS NOT NULL
BEGIN
DROP TABLE #LISTOFTABLES
END
SELECT TABLE_SCHEMA,TABLE_NAME INTO #LISTOFTABLES
FROM INFORMATION_SCHEMA.TABLES
where table_type='BASE TABLE'
DECLARE tables CURSOR FOR
SELECT * FROM #LISTOFTABLES
OPEN tables
FETCH NEXT FROM tables INTO @schema, @table
WHILE @@fetch_status = 0
BEGIN
IF (OBJECT_ID(@schema+'.'+@table) IS NOT NULL)
BEGIN
SET @cmd = 'sp_rename '''+@table+''', ''NEW_'+@table +'''' --- PROBLEM IS HERE I GUESS
EXEC(@cmd)
PRINT @cmd
END
FETCH NEXT FROM tables INTO @schema, @table
END
CLOSE tables
DEALLOCATE tables
Syntax :
go
SET NOCOUNT ON
DECLARE @cnt INT
DECLARE @table VARCHAR(128)
DECLARE @schema VARCHAR(100)
DECLARE @cmd VARCHAR(500)
IF OBJECT_ID('tempdb..#LISTOFTABLES') IS NOT NULL
BEGIN
DROP TABLE #LISTOFTABLES
END
SELECT TABLE_SCHEMA,TABLE_NAME INTO #LISTOFTABLES
FROM INFORMATION_SCHEMA.TABLES
where table_type='BASE TABLE'
DECLARE tables CURSOR FOR
SELECT * FROM #LISTOFTABLES
OPEN tables
FETCH NEXT FROM tables INTO @schema, @table
WHILE @@fetch_status = 0
BEGIN
IF (OBJECT_ID(@schema+'.'+@table) IS NOT NULL)
BEGIN
SET @cmd = 'sp_rename '''+@table+''', ''NEW_'+@table +'''' --- PROBLEM IS HERE I GUESS
EXEC(@cmd)
PRINT @cmd
END
FETCH NEXT FROM tables INTO @schema, @table
END
CLOSE tables
DEALLOCATE tables
Syntax :
The script for renaming any column :
sp_RENAME 'TableName.[OldColumnName]' , '[NewColumnName]', 'COLUMN' The script for renaming any object (table, sp etc) :sp_RENAME '[OldTableName]' , '[NewTableName]'
No comments:
Post a Comment