星期五, 12月 09, 2011

[SQL] 利用 T-SQL 語法更改欄位名稱

利用 T-SQL 語法來處理 Table 欄位的需求,直覺會想到利用 ALTER TABLE 語法來處理,但更改欄位名稱無法利用 ALTER TABLE 來達成,必須利用系統預存程序 sp_rename。

-- 新增欄位
ALTER TABLE TableName ADD ColName DataType

-- 刪除欄位
ALTER TABLE TableName DROP COLUMN ColName 

-- 修改欄位資料型態
ALTER TABLE TableName ALTER COLUMN ColName DataType

-- 修改欄位名稱
EXEC sp_rename 'TableName.OldColName','NewColName','COLUMN' 

利用 sp_rename 來更改欄位名稱時,要注意其相依性,EX:函數、預存程序或觸發程序有用到該欄位,必須手動去更新其內容,sp_rename 無法自動更新。
  • 20190515 補述
該欄位存在預設值 (Default)、條件約束 (Check) 時,無法更名欄位,必須先移除相依性,錯誤訊息如下

[SQL] 利用 T-SQL 語法更改欄位名稱

沒有留言:

張貼留言