語法:
sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ]
參數:
1. [
@objname =]
'object_name' 是用戶對象(表、視圖、列、
存儲過程、
觸發器、默認值、資料庫、對象或規則)或
數據類型的當前名稱。如果要重命名的對象是表中的一列,那么
object_name 必須為
table.column 形式。如果要重命名的是索引,那么
object_name 必須為
table.index 形式。
object_name 為
nvarchar(776) 類型,無默認值。
2. [@newname =] 'new_name' 是指定對象的新名稱。new_name 必須是名稱的一部分,並且要遵循標識符的規則。newname 是 sysname 類型,無默認值。
3. [@objtype =] 'object_type' 是要重命名的對象的類型。object_type 為 varchar(13) 類型,其默認值為 NULL,可取下列值。
值 | 描述 |
| 要重命名的列。 |
DATABASE | 用戶定義的資料庫。要重命名資料庫時需用此選項。 |
INDEX | 用戶定義的索引。 |
OBJECT | 在 sysobjects 中跟蹤的類型的項目。例如, OBJECT 可用來重命名約束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用戶表、視圖、 存儲過程、觸發器和規則等對象。 |
USERDATATYPE | 通過執行 sp_addtype 而添加的用戶定義數據類型。 |
返回代碼值0(成功)或非零數字(失敗)
注釋:
只能更改當前資料庫中的對象名稱或數據類型名稱。大多數系統數據類型和系統對象的名稱不能更改。
重命名視圖時,
sysobjects 表中有關該視圖的信息將得到更新。重命名
存儲過程時,
sysobjects 表中有關該過程的信息將得到更新。
每當重命名 PRIMARY KEY 或 UNIQUE 約束時,sp_rename 都會自動為相關聯的索引重命名。如果重命名的索引與 PRIMARY KEY 約束相關聯,那么 sp_rename 也會自動重命名主鍵。