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

我试图重新命名DayGT和正在错误重命名列:“SP_RENAME”附近的语法不正确。

附近有语法错误SP_RENAME“

SQL Server Management Studio中说,错误是SP_RENAME

注意:除了sp_rename,我还可以使用其他选项

+0

您无法使用ALTER TABLE更改列名称。 –

回答

27

SP_RENAME不是ALTER TABLE声明的一部分。这是一个系统存储过程,因此它应该使用EXEC/EXECUTE声明调用,就像这样:

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

(不alter table temp位)

+4

我还会在那里添加EXEC,以防OP将它复制到一个批处理中,这不是第一个声明。 –

+0

@ericf:它应该工作。看看[这个例子](http://sqlfiddle.com/#!3/00034/2) –

+1

@ericf权利,juergen说,它不要说“它不工作” - 什么是“它不工作” “ 意思?你有错误信息吗?如果是这样,复制并粘贴它,所以我们有一些线索你的意思。 –

0

您需要启动每个SP_RENAME与EXEC

+0

这已经在一年前陈述了。 –