10

複数の SQL UPDATE ステートメントを含むテキスト ファイルを生成するスクリプトがあります。

UPDATE TableX SET Field1 = 'New value 1' WHERE Field2='1';
UPDATE TableX SET Field1 = 'New value 2' WHERE Field2='2';
UPDATE TableX SET Field1 = 'New value 3' WHERE Field2='3';
etc.

上記のテキスト ブロックを PL/SQL Developer の SQL ウィンドウに貼り付けると、セミコロンが無効な文字であることがわかります。削除すると、最初のステートメントが適切に終了していないことが通知されます。

これらのステートメントを 1 回の実行で実行するにはどうすればよいですか?

4

4 に答える 4

7

テストウィンドウを使用していると思います。これは単一のステートメントのみを実行できます。SQL ウィンドウとコマンド ウィンドウは、複数のステートメントを実行できます。

これをテスト ウィンドウで実行する必要がある場合は、ブロックに埋め込んでbegin..endPL/SQL ステートメント ブロックにすることができます。

于 2011-08-02T23:01:21.530 に答える
3

私もこのエラーに直面しました。ツール - >設定に移動する必要があります。ウィンドウタイプでSQLウィンドウに移動し、「自動選択ステートメント」を選択します。これでエラーが解消されるはずです。

于 2013-09-03T15:31:42.927 に答える
2

この方法を試してください。

UPDATE TableX SET Field1 = 'New value 1' WHERE Field2='1'
/
UPDATE TableX SET Field1 = 'New value 2' WHERE Field2='2'
/
UPDATE TableX SET Field1 = 'New value 3' WHERE Field2='3'
/
于 2011-09-05T19:16:32.340 に答える
2

やあ、

これを試すことができます。

Declare 
Begin 
 UPDATE TableX SET Field1 = 'New value 1' WHERE Field2='1';  
 UPDATE TableX SET Field1 = 'New value 2' WHERE Field2='2'; 
 UPDATE TableX SET Field1 = 'New value 3' WHERE Field2='3'; 
End;

SQL開発者で複数のクエリを実行するには、匿名ブロックを作成する必要があります。

これがあなたの仕事を楽にしてくれることを願っています。

于 2012-12-11T12:41:57.990 に答える