No Programming, No Life

プログラミング関連の話題や雑記

SQLスクリプトの行末

一括でUPDATE文を実行してもらう必要があったので、SQLのスクリプトを作ることになった。
これまではてっきり行末にセミコロンをつければいいだけだと思っていたので、
以下のようなSQLを作成してしまった。

update xxx set comment='20歳' where age=20;
update xxx set comment='30歳' where age=30;
update xxx set comment='40歳' where age=40;
          .
          .
          .

でも、これだとORA-00911エラーになってしまい実行できなかった。


そこでネットでちょっくら調べてみたら、以下のように先頭にスラッシュを書けばよいことが判明した。

update xxx set comment='20歳' where age=20;
/
update xxx set comment='30歳' where age=30;
/
update xxx set comment='40歳' where age=40;
/


以下引用

SQLコマンドの終わりにセミコロン、また、ファイル内の各PL/SQLブロックの後にスラッシュ(/)のみの行をそれぞれ挿入する必要があります。複数のSQLコマンドおよびPL/SQLブロックをスクリプトに挿入できます。

SQL*Plusでのスクリプトの使用