用sql修改資料庫中表內欄位名

來源:互聯網
上載者:User
 
用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'

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.