2

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

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”附近的语法不正确。

4

2 回答 2

5

尝试:

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

恕我直言,您永远不应该在没有EXEC.

于 2012-07-19T19:57:00.150 回答
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
于 2012-07-19T19:56:45.127 回答