sql實(shí)現(xiàn)修改表字段名的方法詳解
sp_rename N'表名.字段名','新字段名','column'
sp_rename
更改當(dāng)前數(shù)據(jù)庫(kù)中用戶(hù)創(chuàng)建對(duì)象(如表、列或用戶(hù)定義數(shù)據(jù)類(lèi)型)的名稱(chēng)。
語(yǔ)法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
參數(shù)
[@objname =] 'object_name'
是用戶(hù)對(duì)象(表、視圖、列、存儲(chǔ)過(guò)程、觸發(fā)器、默認(rèn)值、數(shù)據(jù)庫(kù)、對(duì)象或規(guī)則)或數(shù)據(jù)類(lèi)型的當(dāng)前名稱(chēng)。如果要重命名的對(duì)象是表中的一列,那么 object_name 必須為 table.column 形式。如果要重命名的是索引,那么 object_name 必須為 table.index 形式。object_name 為 nvarchar(776) 類(lèi)型,無(wú)默認(rèn)值。
[@newname =] 'new_name'
是指定對(duì)象的新名稱(chēng)。new_name 必須是名稱(chēng)的一部分,并且要遵循標(biāo)識(shí)符的規(guī)則。newname 是 sysname 類(lèi)型,無(wú)默認(rèn)值。
[@objtype =] 'object_type'
是要重命名的對(duì)象的類(lèi)型。object_type 為 varchar(13) 類(lèi)型,其默認(rèn)值為 NULL,可取下列值。
值描述
COLUMN 要重命名的列。
DATABASE 用戶(hù)定義的數(shù)據(jù)庫(kù)。要重命名數(shù)據(jù)庫(kù)時(shí)需用此選項(xiàng)。
INDEX 用戶(hù)定義的索引。
OBJECT 在 sysobjects 中跟蹤的類(lèi)型的項(xiàng)目。例如,OBJECT 可用來(lái)重命名約束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用戶(hù)表、視圖、存儲(chǔ)過(guò)程、觸發(fā)器和規(guī)則等對(duì)象。
USERDATATYPE 通過(guò)執(zhí)行 sp_addtype 而添加的用戶(hù)定義數(shù)據(jù)類(lèi)型。
返回代碼值
0(成功)或非零數(shù)字(失敗)
注釋
只能更改當(dāng)前數(shù)據(jù)庫(kù)中的對(duì)象名稱(chēng)或數(shù)據(jù)類(lèi)型名稱(chēng)。大多數(shù)系統(tǒng)數(shù)據(jù)類(lèi)型和系統(tǒng)對(duì)象的名稱(chēng)不能更改。
重命名視圖時(shí),sysobjects 表中有關(guān)該視圖的信息將得到更新。重命名存儲(chǔ)過(guò)程時(shí),sysobjects 表中有關(guān)該過(guò)程的信息將得到更新。
每當(dāng)重命名 PRIMARY KEY 或 UNIQUE 約束時(shí),sp_rename 都會(huì)自動(dòng)為相關(guān)聯(lián)的索引重命名。如果重命名的索引與 PRIMARY KEY 約束相關(guān)聯(lián),那么 sp_rename 也會(huì)自動(dòng)重命名主鍵。
重要 重命名存儲(chǔ)過(guò)程和視圖后,請(qǐng)清空過(guò)程高速緩存以確保所有相關(guān)的存儲(chǔ)過(guò)程和視圖都重新編譯。
重命名存儲(chǔ)過(guò)程、視圖或觸發(fā)器不會(huì)更改 syscomments 表中相應(yīng)對(duì)象的名稱(chēng)。由于原來(lái)的名稱(chēng)將從 syscomments 表插入 CREATE 語(yǔ)句,因此這樣可能會(huì)導(dǎo)致為該對(duì)象生成腳本時(shí)出現(xiàn)問(wèn)題。要獲得最佳結(jié)果,請(qǐng)不要重命名這些對(duì)象類(lèi)型,而應(yīng)該刪除并用新名稱(chēng)重新創(chuàng)建對(duì)象。
權(quán)限
sysadmin 固定服務(wù)器角色成員、db_owner 和 db_ddladmin 固定數(shù)據(jù)庫(kù)角色成員或?qū)ο笏姓呖梢詧?zhí)行 sp_rename。只有 sysadmin 和 dbcreator 固定服務(wù)器角色成員才能將"database"作為 object_type 來(lái)執(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'
相關(guān)文章
使用 GUID 值來(lái)作為數(shù)據(jù)庫(kù)行標(biāo)識(shí)講解
使用 GUID 值來(lái)作為數(shù)據(jù)庫(kù)行標(biāo)識(shí)講解...2007-05-05sql函數(shù) REGEXP_REPLACE的使用方法小結(jié)
假設(shè)您的數(shù)據(jù)在正文中有不必要的空格,您希望用單個(gè)空格來(lái)替換它們,利用REPLACE函數(shù) ,這篇文章給大家介紹sql函數(shù) REGEXP_REPLACE的使用方法小結(jié),感興趣的朋友一起看看吧2023-11-11sql中時(shí)間以5分鐘半個(gè)小時(shí)任意間隔分組的實(shí)現(xiàn)方法
這篇文章主要介紹了sql中時(shí)間以5分鐘半個(gè)小時(shí)任意間隔分組的實(shí)現(xiàn)方法,在文中給大家提到了sql server時(shí)間查詢(xún)的代碼,需要的朋友可以參考下2019-06-06揭秘SQL Server 2014有哪些新特性(3)-可更新列存儲(chǔ)聚集索引
可更新的列存儲(chǔ)索引作為SQL Server 2014的一個(gè)關(guān)鍵功能之一,在提升數(shù)據(jù)庫(kù)的查詢(xún)性能方面貢獻(xiàn)非常突出。據(jù)微軟統(tǒng)計(jì),在面向OLAP查詢(xún)統(tǒng)計(jì)類(lèi)系統(tǒng)中,相比其他SQL傳統(tǒng)版本的數(shù)據(jù)庫(kù),報(bào)表查詢(xún)的性能最大可提升上十倍。2014-08-08linux下apache、mysql、php安裝配置詳細(xì)筆記
linux下apache、mysql、php安裝配置筆記,有需要的朋友可以參考下2013-02-02一個(gè)完整的SQL SERVER數(shù)據(jù)庫(kù)全文索引的示例介紹
以下是介紹SQL SERVER數(shù)據(jù)庫(kù)全文索引的示例,以pubs數(shù)據(jù)庫(kù)為例。需要的朋友參考下2013-07-07創(chuàng)建動(dòng)態(tài)MSSQL數(shù)據(jù)庫(kù)表
下面是利用SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)、表、存儲(chǔ)過(guò)程、視圖、索引、規(guī)則、修改表、查看數(shù)據(jù)等的方法。2009-06-06