sql完成修正表字段名的辦法詳解。本站提示廣大學習愛好者:(sql完成修正表字段名的辦法詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是sql完成修正表字段名的辦法詳解正文
sp_rename N'表名.字段名','新字段名','column'
sp_rename
更改以後數據庫頂用戶創立對象(如表、列或用戶界說數據類型)的稱號。
語法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
參數
[@objname =] 'object_name'
是用戶對象(表、視圖、列、存儲進程、觸發器、默許值、數據庫、對象或規矩)或數據類型確當前稱號。假如要重定名的對象是表中的一列,那末 object_name 必需為 table.column 情勢。假如要重定名的是索引,那末 object_name 必需為 table.index 情勢。object_name 為 nvarchar(776) 類型,無默許值。
[@newname =] 'new_name'
是指定對象的新稱號。new_name 必需是稱號的一部門,而且要遵守標識符的規矩。newname 是 sysname 類型,無默許值。
[@objtype =] 'object_type'
是要重定名的對象的類型。object_type 為 varchar(13) 類型,其默許值為 NULL,可取以下值。
值描寫
COLUMN 要重定名的列。
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 也會主動重定名主鍵。
主要 重定名存儲進程和視圖後,請清空進程高速緩存以確保一切相干的存儲進程和視圖都從新編譯。
重定名存儲進程、視圖或觸發器不會更改 syscomments 表中響應對象的稱號。因為本來的稱號將從 syscomments 表拔出 CREATE 語句,是以如許能夠會招致為該對象生成劇本時湧現成績。要取得最好成果,請不要重定名這些對象類型,而應當刪除並用新稱號從新創立對象。
權限
sysadmin 固定辦事器腳色成員、db_owner 和 db_ddladmin 固定命據庫腳色成員或對象一切者可以履行 sp_rename。只要 sysadmin 和 dbcreator 固定辦事器腳色成員能力將"database"作為 object_type 來履行 sp_rename。
示例
A. 重定名表
下例將表 customers 重定名為 custs。
EXEC sp_rename 'customers', 'custs'
B. 重定名列
下例將表 customers 中的列 contact title 重定名為 title。
EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN'
重定名列:下例將表 customers 中的列 contact title 重定名為 title。
EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN'