sql server如果在运行存储的proc内部时阻塞错误 - 给出语法错误

eiu*_*165 2 sql sql-server

我想有部署一个脚本这是rerunable.所以我在重命名之前检查表是否存在.

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
Run Code Online (Sandbox Code Playgroud)

错误是

'sp_rename'附近的语法不正确.

Aar*_*and 5

尝试:

EXEC sp_rename N'Schema', N'SchemaInfo';
Run Code Online (Sandbox Code Playgroud)

恕我直言,你不应该没有调用存储过程EXEC.