2012-07-19 43 views
2

我想有部署這是rerunable腳本。所以我在重命名之前檢查表是否存在。SQL服務器 - 給出了一個語法錯誤

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「。

+3

EXEC sp_rename? – StuartLC 2012-07-19 19:55:42

回答

5

嘗試:

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

恕我直言,你不應該調用存儲過程,而不EXEC

2

與EXEC語句嘗試在followng方式:

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