我需要SQL Server Table Column的帮助。 我正在尝试重命名列名,但这不起作用。
USE COST_mesta_test
GO
EXEC sp_rename '[dbo].[1965$].obec' , 'people' , 'COLUMN'
GO
我尝试了不同的方括号[]和表格“obec”的路径组合 (例如:1965.obec; 1965 $ .obec; 1965. [obec];等) 但我仍然得到一个错误:
参数@objname是不明确的或声称的@objtype (COLUMN)错了。
答案 0 :(得分:70)
我真的不明白你的桌子是如何设置的 - 即。表名,列名等 - 所以这是proc如何用于列重命名的示例:
如果我有这样的桌子:
CREATE TABLE [dbo].[Company](
[ID] [int],
[CompanyName] [varchar](20)
)
并想要更改[CompanyName]
列,这是命令:
EXEC sys.sp_rename
@objname = N'dbo.Company.CompanyName',
@newname = 'Name',
@objtype = 'COLUMN'
我怀疑你的第一个论点不正确。
来自文档(sp_rename (Transact-SQL))
如果要重命名的对象是表格中的列,则object_name必须采用 table.column 或 schema.table.column 格式。如果要重命名的对象是索引,则object_name必须采用table.index或schema.table.index
形式
答案 1 :(得分:7)
您还可以通过右键单击列名并在对象资源管理器中选择“重命名”选项来更改列名。