MSSQL2008 sp_rename 修改表格的列属性名

analyse数据库中的表格call是之前用sql导入工具,从文本格式的数据那里导入的
SQL代码:
use analyse
exec sp_rename 'call.列0','day','COLUMN'

错误提示:
消息 15248,级别 11,状态 1,过程 sp_rename,第 215 行
参数 @objname 不明确或所声明的 @objtype (COLUMN)有误。

求解?

exec sp_rename ‘表名.列名','新列名'
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-12
EXEC sp_rename 'call.[列0]', 'day', 'COLUMN'追问

还是同样的错误:

 

追答

EXEC sp_rename 'call.[列0]', 'day'

--------------------------------------
去掉第三个参数,其实去不去无所谓
我的环境是 SQL 2008
运行的结果是:注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
还有 你的call表的列0是列名吗??
请改为列名 FOR EXAMPLE: TABLE.COLUMNNAME Student:studentid etc...

追问

嗯嗯,“列0“是列名。因为该table是txt文本数据导入时自动生成的,列名都是默认形式。
不过,把‘COLUMN’去掉后,运行还是有问题
消息:在当前数据库analyse中找不到“call.[列0]”项(假定输入的 @itemtype 为 '(null)')。
会不会是因为数据是文本导入的缘故啊!我想通过右键中的“设计”修改的时候,不能保存,而是弹出一下的提示:
你对无法重新创建的表进行了更改或启用了“阻止保存要求重新创建表的更改选项”

追答

SQL 的management studio工具-〉选项-〉左侧的 Designer-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改(右侧) 把钩去重新启动SQL

本回答被提问者采纳