sql實現(xiàn)修改表字段名的方法詳解
sp_rename N'表名.字段名','新字段名','column'
sp_rename
更改當前數(shù)據(jù)庫中用戶創(chuàng)建對象(如表、列或用戶定義數(shù)據(jù)類型)的名稱。
語法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
參數(shù)
[@objname =] 'object_name'
是用戶對象(表、視圖、列、存儲過程、觸發(fā)器、默認值、數(shù)據(jù)庫、對象或規(guī)則)或數(shù)據(jù)類型的當前名稱。如果要重命名的對象是表中的一列,那么 object_name 必須為 table.column 形式。如果要重命名的是索引,那么 object_name 必須為 table.index 形式。object_name 為 nvarchar(776) 類型,無默認值。
[@newname =] 'new_name'
是指定對象的新名稱。new_name 必須是名稱的一部分,并且要遵循標識符的規(guī)則。newname 是 sysname 類型,無默認值。
[@objtype =] 'object_type'
是要重命名的對象的類型。object_type 為 varchar(13) 類型,其默認值為 NULL,可取下列值。
值描述
COLUMN 要重命名的列。
DATABASE 用戶定義的數(shù)據(jù)庫。要重命名數(shù)據(jù)庫時需用此選項。
INDEX 用戶定義的索引。
OBJECT 在 sysobjects 中跟蹤的類型的項目。例如,OBJECT 可用來重命名約束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用戶表、視圖、存儲過程、觸發(fā)器和規(guī)則等對象。
USERDATATYPE 通過執(zhí)行 sp_addtype 而添加的用戶定義數(shù)據(jù)類型。
返回代碼值
0(成功)或非零數(shù)字(失敗)
注釋
只能更改當前數(shù)據(jù)庫中的對象名稱或數(shù)據(jù)類型名稱。大多數(shù)系統(tǒng)數(shù)據(jù)類型和系統(tǒng)對象的名稱不能更改。
重命名視圖時,sysobjects 表中有關該視圖的信息將得到更新。重命名存儲過程時,sysobjects 表中有關該過程的信息將得到更新。
每當重命名 PRIMARY KEY 或 UNIQUE 約束時,sp_rename 都會自動為相關聯(lián)的索引重命名。如果重命名的索引與 PRIMARY KEY 約束相關聯(lián),那么 sp_rename 也會自動重命名主鍵。
重要 重命名存儲過程和視圖后,請清空過程高速緩存以確保所有相關的存儲過程和視圖都重新編譯。
重命名存儲過程、視圖或觸發(fā)器不會更改 syscomments 表中相應對象的名稱。由于原來的名稱將從 syscomments 表插入 CREATE 語句,因此這樣可能會導致為該對象生成腳本時出現(xiàn)問題。要獲得最佳結(jié)果,請不要重命名這些對象類型,而應該刪除并用新名稱重新創(chuàng)建對象。
權限
sysadmin 固定服務器角色成員、db_owner 和 db_ddladmin 固定數(shù)據(jù)庫角色成員或?qū)ο笏姓呖梢詧?zhí)行 sp_rename。只有 sysadmin 和 dbcreator 固定服務器角色成員才能將"database"作為 object_type 來執(zhí)行 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'
相關文章
SQL?Server導入Excel數(shù)據(jù)的簡單圖文教程
這篇文章主要介紹了SQL?Server導入Excel數(shù)據(jù)的相關資料,包括如何將數(shù)據(jù)從Excel導入到指定數(shù)據(jù)庫,包括選擇數(shù)據(jù)源、配置OLEDBProvider、編輯目標字段映射等關鍵步驟,以及最終執(zhí)行導入操作的流程,需要的朋友可以參考下2024-11-11
SQLServer查詢所有數(shù)據(jù)庫名和表名及表結(jié)構等代碼示例
SQL Server是一種關系型數(shù)據(jù)庫管理系統(tǒng),可以使用SQL語言來查詢表結(jié)構,這篇文章主要給大家介紹了關于SQLServer查詢所有數(shù)據(jù)庫名和表名及表結(jié)構等的相關資料,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下2023-11-11
SQL對冗余數(shù)據(jù)的刪除重復記錄只保留單條的說明
本文講一下數(shù)據(jù)庫中通常存在一些冗余數(shù)據(jù),如重復記錄就是一種,那這樣的記錄如何刪除呢?2010-03-03
大數(shù)據(jù)量分頁存儲過程效率測試附測試代碼與結(jié)果
在項目中,我們經(jīng)常遇到或用到分頁,那么在大數(shù)據(jù)量(百萬級以上)下,哪種分頁算法效率最優(yōu)呢?我們不妨用事實說話。2010-07-07
sqlserver 動態(tài)創(chuàng)建臨時表的語句分享
開發(fā)業(yè)務需求,需要對一個表作數(shù)據(jù)分析,由于數(shù)據(jù)量較大,而且分析時字段會隨條件相應變化而變化2012-01-01
將表數(shù)據(jù)生成Insert腳本 比較好用的生成插入語句的SQL腳本
比較好用的生成插入語句的SQL腳本 將表數(shù)據(jù)生成Insert腳本2010-05-05
sqlserver四舍五入使用round函數(shù)及cast和convert函數(shù)
大家在遇到sqlserver四舍五入除了用round函數(shù)還有沒有其他方法呢?下面小編給大家介紹使用cast和convert函數(shù),感興趣的朋友一起學習吧2015-11-11

