我想要一个部署的脚本可重新运行。所以我在重命名之前检查表是否存在。
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
错误是
'sp_rename'附近的语法不正确。
答案 0 :(得分:5)
尝试:
EXEC sp_rename N'Schema', N'SchemaInfo';
恕我直言,你不应该在没有EXEC
的情况下调用存储过程。
答案 1 :(得分:2)
以下列方式尝试使用EXEC语句:
IF EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Schema]') AND type IN ( N'U' ) )
BEGIN
EXEC sp_rename [Schema], [SchemaInfo]
END