2012-02-20 41 views
30

Tôi cần trợ giúp với Cột Bảng SQL Server. Tôi đang cố gắng đổi tên Tên cột, nhưng điều này không hoạt động.cách đổi tên cột bằng T-SQL

USE COST_mesta_test 
GO 
EXEC sp_rename '[dbo].[1965$].obec' , 'people' , 'COLUMN' 
GO 

tôi đã cố gắng kết hợp khác nhau của dấu ngoặc [] và đường dẫn đến bảng "obec" (ví dụ: 1965.obec; 1965 $ .obec; 1965. [obec], vv) Nhưng vẫn còn tôi nhận một lỗi:

Either the parameter @objname is ambiguous or the claimed @objtype (COLUMN) is wrong.

Trả lời

54

Tôi thực sự không hiểu cách thiết lập bảng của bạn - ví dụ: tên bảng, tên cột vv - vì vậy đây là một ví dụ về cách proc làm việc cho cột đổi tên:

Nếu tôi có một bảng như thế này:

CREATE TABLE [dbo].[Company](
[ID] [int], 
[CompanyName] [varchar](20) 
) 

và muốn thay đổi cột [CompanyName], đây là lệnh:

EXEC sys.sp_rename 
    @objname = N'dbo.Company.CompanyName', 
    @newname = 'Name', 
    @objtype = 'COLUMN' 

Tôi nghi ngờ đối số đầu tiên của bạn không chính xác.

Từ các tài liệu (sp_rename (Transact-SQL))

If the object to be renamed is a column in a table, object_name must be in the form table.column or schema.table.column. If the object to be renamed is an index, object_name must be in the form table.index or schema.table.index

7

Bạn cũng có thể thay đổi tên cột bằng cách kích chuột phải vào tên cột và chọn 'đổi tên' tùy chọn trong Object Explorer.

+0

+1 để hiển thị cách đổi tên thông qua giao diện người dùng. –

+1

Thông thường không phải là một ý tưởng hay, nếu bạn muốn tạo các kịch bản di chuyển (mà bạn thường làm). –

+0

Câu hỏi là về đổi tên với T-SQL không phải đối tượng thám hiểm! Nó không phải là một câu trả lời. – QMaster

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