1

SQL Server 2008 ビューを更新しようとしていますが、次のスクリプトを実行すると、次のエラーが発生します。

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS 
WHERE TABLE_NAME = 'oas_AppVend')

エラー:

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near ')'.

以下のように sript を実行すると (if も括弧もなし)、結果に「VIEW」が表示されます。

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS 
WHERE TABLE_NAME = 'oas_AppVend'

結果:

TABLE_NAME
oas_AppVend

何か案は?

4

1 に答える 1

2

そのエラーは、あなたが書いたスクリプトが十分でないためです。SQL エンジンは、if の後で何をすべきかを知る必要があります。

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS  
WHERE TABLE_NAME = 'oas_AppVend') 
BEGIN 
   /* VALID SQL STATEMENT MUST EXIST HERE */
END

注: 上記のコードでも、有効な sql ステートメントを私が指摘したブロックに入れるまでエラーが返されます。else の結果が必要な場合は、次のようになりますが、実際に完了するまで、これは有効なステートメントではありません。

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS  
WHERE TABLE_NAME = 'oas_AppVend') 
BEGIN 
   /* VALID SQL STATEMENT MUST EXIST HERE */
END
ELSE
BEGIN
   /* DO SOMETHING ELSE */
END
于 2012-06-21T18:33:32.367 に答える