2012-05-31 29 views
13
ALTER TABLE [TEMP] 
SP_RENAME '[TEMP].[Day]', 'GT', 'COLUMN' 

Tôi cố gắng để đổi tên Day để GT và đang nhận được lỗiĐổi tên một cột: Cú pháp không chính xác gần 'SP_RENAME'.?

cú pháp sai gần 'sp_rename'

SQL Server Management Studio cho biết lỗi này là trên SP_RENAME

LƯU Ý: Tôi đang mở cho các tùy chọn khác ngoài sp_rename

+0

Bạn không thể thay đổi tên cột bằng ALTER TABLE. –

Trả lời

27

SP_RENAME không phải là một phần của tuyên bố ALTER TABLE. Đây là một thủ tục hệ thống lưu trữ và do đó nó nên được gọi sử dụng câu lệnh EXEC/EXECUTE, như thế này:

exec SP_RENAME '[TEMP].[Day]', 'GT', 'COLUMN' 

(mà không có sự alter table temp bit)

+4

Tôi cũng sẽ thêm EXEC vào đó, trong trường hợp OP sao chép nó thành một lô và nó không phải là câu lệnh đầu tiên. –

+0

@ericf: Nó sẽ hoạt động. Xem [ví dụ này] (http://sqlfiddle.com/#!3/00034/2) –

+1

@ericf đúng nơi mà các loại nước ép đặt nó, và xin đừng bao giờ nói "nó không hoạt động" - những gì hiện "nó không hoạt động " nghĩa là? Bạn có nhận được một thông báo lỗi? Nếu vậy, sao chép và dán nó để chúng tôi có một số đầu mối những gì bạn có ý nghĩa. –

0

Bạn cần bắt đầu mỗi sp_rename với EXEC

+0

Điều này đã được tuyên bố một năm trước đó. –

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