[SQL]sp_rename 變更目前資料庫中之使用者建立物件的名稱
sp_rename: 變更目前資料庫中之使用者建立物件的名稱。 這個物件可以是資料表、索引、資料行、別名資料類型或 Microsoft .NET Framework Common Language Runtime (CLR) 使用者自訂類型。
如果原先建立一個Table後,想要改它的欄位名稱,除了透過SSMS去修改外,我們有以下幾種方式,
1.刪掉重建,再把資料轉進去
USE tempdb
GO
CREATE TABLE TestTable (ID INT, OldName VARCHAR(20))
GO
INSERT INTO TestTable
VALUES (1, 'TestTable FIRST')
GO
SELECT *
INTO #TestTable
FROM TestTable
GO
DROP TABLE TestTable
GO
CREATE TABLE TestTable (ID INT, NewName VARCHAR(20))
GO
INSERT INTO TestTable
SELECT ID, OldName
FROM #TestTable
GO
SELECT *
FROM TestTable
GO
DROP TABLE #TestTable
GO
--測試完成後,將測試Table Drop掉
DROP TABLE TestTable
GO
2.使用sp_rename,將欄位名稱改掉
USE tempdb
GO
CREATE TABLE TestTable (ID INT, OldName VARCHAR(20))
GO
INSERT INTO TestTable
VALUES (1, 'TestTable FIRST')
GO
EXEC sp_rename N'TestTable.OldName', N'NewName', 'Column'
GO
SELECT *
FROM TestTable
GO
當然,sp_rename也可以修改Table的名稱,如下,
USE tempdb
GO
CREATE TABLE TestTable (ID INT, OldName VARCHAR(20))
GO
INSERT INTO TestTable
VALUES (1, 'TestTable FIRST')
GO
--修改TestTable Name為 NewTestTable
EXEC sp_rename N'TestTable', N'NewTestTable'
GO
SELECT *
FROM NewTestTable
GO
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^