Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server中的sp_重命名编程错误_Sql_Sql Server 2008 - Fatal编程技术网

SQL Server中的sp_重命名编程错误

SQL Server中的sp_重命名编程错误,sql,sql-server-2008,Sql,Sql Server 2008,请您就如何正确编写此代码提供建议: declare @str nvarchar(50) Set @str = '[table1].[column_name1]' sp_RENAME @str, 'column2', 'COLUMN' 它目前给出了一个错误 “sp_RENAME”附近的语法不正确 这应等同于: sp_RENAME '[table1].[column1]', '[column2]', COLUMN 用于从表中重命名列的 我需要使用第一种方法,因为这是过程中的一般步骤 非常感谢 我

请您就如何正确编写此代码提供建议:

declare @str nvarchar(50)
Set @str = '[table1].[column_name1]'
sp_RENAME @str, 'column2', 'COLUMN'
它目前给出了一个错误

“sp_RENAME”附近的语法不正确

这应等同于:

sp_RENAME '[table1].[column1]', '[column2]', COLUMN
用于从表中重命名列的

我需要使用第一种方法,因为这是过程中的一般步骤


非常感谢

我刚刚尝试了您的代码,没有任何问题,是不是您忘记使用“execute”来调用存储过程了

declare @str nvarchar(50)
Set @str = '[table1].[column_name1]'
execute sp_RENAME @str, 'column2', 'COLUMN'

我刚刚尝试了您的代码,没有任何问题,是不是您忘记了使用“execute”来调用存储过程

declare @str nvarchar(50)
Set @str = '[table1].[column_name1]'
execute sp_RENAME @str, 'column2', 'COLUMN'

调用存储过程时始终使用
EXEC
。您正在使用的lazier语法适用于批处理中的第一个语句,但不适用于以后的语句;不确定你用惰性语法到底指的是什么?键入
sp_something
肯定比
EXEC sp_something
更惰性,不?哦,我明白了,谢谢你的解释。在我的例子中,只是不知道正确的语法。请记住,这里的评论并不总是针对你的——它们通常也是针对其他(未来)读者的。这是非常常见的惰性语法(),即使在您的特定情况下它不是显式惰性的。调用存储过程时始终使用
EXEC
。您正在使用的lazier语法适用于批处理中的第一个语句,但不适用于以后的语句;不确定你用惰性语法到底指的是什么?键入
sp_something
肯定比
EXEC sp_something
更惰性,不?哦,我明白了,谢谢你的解释。在我的例子中,只是不知道正确的语法。请记住,这里的评论并不总是针对你的——它们通常也是针对其他(未来)读者的。这是非常常见的lazy语法(),即使在您的特定情况下它不是显式的lazy!事实上,我忘了使用execute关键字。谢谢你tr3!事实上,我忘了使用execute关键字。