sql server if block errors when running a stored proc inside - 给出语法错误

标签 sql sql-server

我想要一个可重新运行的部署脚本。所以我在重命名之前检查表是否存在。

IF EXISTS ( SELECT  * FROM    sys.objects  WHERE   object_id = OBJECT_ID(N'[dbo].[Schema]')  AND type IN ( N'U' ) )  
BEGIN
sp_rename [Schema], [SchemaInfo] 
END

错误是

Incorrect syntax near 'sp_rename'.

最佳答案

尝试:

EXEC sp_rename N'Schema', N'SchemaInfo';

恕我直言,如果没有 EXEC,您永远不应该调用存储过程。

关于sql server if block errors when running a stored proc inside - 给出语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11568275/

相关文章:

sql - 获取不同记录的问题(分组依据)

c# - SQL异常 : String or binary data would be truncated

sql - 无法使用 sqlproj 创建图表

sql - 连接多个表返回重复项

c# - 如何在 Visual Studio 2019 中添加 .mdf 文件?

MySQL:获取具有不同参数的行

php - 如何在 SQL 中存储 PHP 变量,以便在检索时它仍然是一个变量(而不是一个值)

javascript - html5数据库将'?!&等作为特殊字符保存在html5数据库中

sql - 获取查询中的连续日期

mysql - 从 MySQL 中的多个表中删除行