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 に答える