2010-03-15 23 views
41

Aşağıdaki kodu denedim. Hata olmamasına rağmen, bunu yapmadı.Sütun SQL Server'da yeniden adlandırma

SELECT * FROM Categories EXEC sp_rename 'Active', CategoriesActive 
+0

Peki ne yapmaya çalışıyorsunuz? Tablodaki değerleri değiştirmek veya tablodaki bir sütunun adını değiştirmek veya birden çok sütunun adlarını değiştirmek için? – SWeko

+0

Hangi tabloların/sütunların olduğunu ve bunları yeniden adlandırmak istediğiniz şeyi listeleyebilir misiniz? –

cevap

76
EXEC sp_rename 'Categories.Active', 'CategoriesActive', 'COLUMN' 
+1

Ayrıca bkz. [Sp_rename' için MSDN dökümantasyonu] (http://technet.microsoft.com/en-us/library/ms188351.aspx). –

5

Sen önünde bu seçme kullanmak gerekiyor ve sözdizimi olması gerektiği gibi:

EXEC sp_rename 'TABLENAME.OLD_COLUMNNAME', 'NEW_COLUMNAME', 'COLUMN'; 

MYSQL İÇİN: MSSQL İÇİN

EXEC sp_rename 
    @objname = 'Categories.Active', 
    @newname = 'CategoriesActive', 
    @objtype = 'Type_of_your_column' 
37

: Bu

yapmak için ALTER TABLE kullanın
ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name 

Bir CHANGE old_col_name new_col_name column_definition deyimini kullanarak bir sütunu yeniden adlandırabilirsiniz. Bunu yapmak için, eski ve yeni sütun adlarını ve şu andaki sütunun tanımını belirtin. Örneğin, INTEGER sütununu a'dan b'ye yeniden adlandırmak için şunu yapabilirsiniz:

ALTER TABLE t1 CHANGE a b INTEGER; 
+0

http://msdn.microsoft.com/en-us/library/ms190273.aspx, ALTER TABLE ifadesinin – SWeko

+0

ifadesine CHANGE yan tümcesini belirtiyor gibi görünmüyor. Üzgünüm, MYsql not MSsql ifadesini kullandığını düşündüğüm soruyu yanlış okudu ! Buna göre düzenleyecektir – Xander

+0

aslında bu "sp_rename" için değildi bu çok veritabanına özgü soru veritabanı agnostik olurdu :) – SWeko

İlgili konular