SQL Server 使用 sp_rename 修改 Index, Primary Key, Foreign Key 名稱

修改索引(Index)名稱

將 Department 資料表名稱為 IX_Department_Id 的 index 改名為 IX_Department_Id2
    
exec sp_rename 'Department.IX_Department_Id', 'IX_Department_Id2', 'INDEX'
    

修改主鍵(Primary Key)名稱

將主鍵 PK__Employee__3214EC0740F9B862 改名為 PK__Employee
    
EXEC sp_rename 'PK__Employee__3214EC0740F9B862', 'PK__Employee', 'OBJECT';
    

修改外鍵(Foreign Key)名稱

將外鍵 Employee_Department_Id_fk 改名為 Employee_Department_Id_fk2
    
EXEC sp_rename 'Employee_Department_Id_fk', 'Employee_Department_Id_fk2', 'OBJECT';
    



sp_rename 方法還可以用來修改很多「物件」,包含資料表、索引(Index)等,但是在微軟官方文件中建議不要直接使用 sp_rename 方法來修改預存程式(procedures)、觸發器(triggers)、使用者自定義函式(user-defined functions)、檢視表(views)等,官方建議刪除後重新建立,不要使用 sp_rename 來修改。

參考資料:
Microsoft.Learn - sp_rename (Transact-SQL)

留言

張貼留言

如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com