2012-07-10 91 views
8

Cách thay đổi tên cột được xác định trước thành tên mới.Thay đổi tên cột trong SQL Server 2008

eg: Column name is "Accounts" 
I want to change it to "A/c" 

Tài khoản của alter làm thay đổi bảng emp .... [gì tiếp theo]

+3

Nội dung trong [tài liệu] (http://msdn.microsoft.com/en-us/library/ms190273.aspx) bạn có hiểu không? – Oded

Trả lời

13

Bạn cần phải sử dụng lệnh sp_rename, hoặc sử dụng Management Studio để làm điều đó trực quan - chắc chắn rằng bạn làm điều đó tại một khoảng thời gian yên tĩnh, và chắc chắn rằng nó đã được thực hiện ở trước -sản xuất đầu tiên với thử nghiệm!

Ngẫu nhiên tôi sẽ tránh xa A/C - dấu gạch chéo là phân chia ý nghĩa đặc biệt.

Tài liệu hướng dẫn cho sp_rename ở đây, ví dụ B là thích hợp nhất. http://msdn.microsoft.com/en-us/library/ms188351.aspx

+0

sp_RENAME 't1. Số tiền', 'Acc', 'Tài khoản' Có đúng không? – techie

+0

Trường hợp t1 là bảng và Tài khoản là cột, bạn sẽ chạy cột này để thay đổi cột thành Acc. Hãy chắc chắn rằng bạn kiểm tra nó đầu tiên trong không sản, và lấy một bản sao lưu! EXEC sp_rename 't1. Số tiền', 'Acc', 'COLUMN'; –

+0

Từ khóa 'COLUMN' này được sử dụng cho mục đích là gì? – techie

18

Các kịch bản cho đổi tên bất kỳ cột:

sp_RENAME 'TableName.[OldColumnName]' , 'NewColumnName', 'COLUMN' 

(Lưu ý rằng bạn không sử dụng thoát trong đối số thứ hai, đáng ngạc nhiên.)

Tập lệnh đổi tên bất kỳ đối tượng nào (bảng, v.v.):

sp_RENAME '[OldTableName]' , 'NewTableName' 

thấy here để biết thêm

+0

không cần thay đổi bảng sao kê? – techie

+0

@techie - Bạn đã theo liên kết chưa? Nó nói gì? – Oded

+0

vâng tôi đã thấy liên kết đó trước khi đăng ở đây nhưng đây là lần đầu tiên tôi làm việc trên môi trường máy chủ SQL, vì vậy mọi thứ ở đây đều bị nhầm lẫn ở đây – techie

0

Bạn có thể sử dụng sp_rename như:

sp_RENAME 'TableName.[OldColumnName]' , '[NewColumnName]', 'COLUMN' 

như mã của bạn là như thế này:

sp_RENAME 'table.Accounts','Acc','COLUMN' 
0

Đây là mã cho sp_rename

sp_RENAME 'emp.Accounts' , 'Acc' 

tôi đã sử dụng một cái gì đó tương tự và làm việc

0
sp_rename 'table_name.accounts', 'A/C', 'column' 

truy vấn này sẽ giải quyết được sự cố của bạn.

0

Lệnh để đổi tên bất kỳ tên cột:

sp_RENAME 'TableName.[OldColumnName]' , 'NewColumnName' 

Nó hoạt động mà không sử dụng đối số thứ 3 'Cột' cuối cùng.

Các vấn đề liên quan