BEGIN、END などがある場合、SQL ではなく PL/SQL を使用しています。
PL/SQL ブロックは、行の最初にある 1 つの (「フォワード」) スラッシュで終了する必要があります。これにより、PL/SQL ブロックの処理が完了したことが Oracle に通知され、そのテキスト ブロックがコンパイルされます。
SQL クエリ - セミコロンで終了:
update orders set status = 'COMPLETE' where order_id = 55255;
プレ>PL/SQL ブロック - コマンドは分離 セミコロン、ブロックはスラッシュで終了:
create or replace procedure mark_order_complete (completed_order_id in number) is begin update orders set status = 'COMPLETE' where order_id = :completed_order_id; end mark_order_complete; /
プレ>