【データベース:Oracle復習】PL/SQLの最小構成!「何もしない」を攻略する
久しぶりにOracleを復習するブログ。今回はPL/SQLの基本中の基本、あえて「何もしない」プロシージャを作成して、動作を確認してみましょう。
1. サンプル:最小のプロシージャ作成
【 コード 】 実行しても何も処理を行わないプロシージャ `sample0` を作成し、実行します。PL/SQLでは、BEGINとENDの間に最低1つの文が必要なため、`NULL;` を記述します。
CREATE OR REPLACE PROCEDURE sample0
IS
BEGIN
NULL;
END ;
/
execute sample0
IS
BEGIN
NULL;
END ;
/
execute sample0
2. 実行結果:処理の受理
Procedure created.
Statement processed.
上記のように表示されます。何も出力はされませんが、エラーなく「動いている」ことがわかります。
3. 解説:なぜ「NULL;」が必要なのか
PL/SQLのブロック構造において、処理部(BEGIN〜END)を空にすることは文法エラーとなります。そのため、何もしないことを明示的に宣言する必要があります。
[ ポイントの整理 ]
★ CREATE OR REPLACE:既存のものがあれば上書きして作成する。
★ NULL;:何もしない実行文。文法を満たすために使用される。
★ / (スラッシュ):SQL*Plusなどのツールで、ブロックの終端を伝えて実行する記号。
★ CREATE OR REPLACE:既存のものがあれば上書きして作成する。
★ NULL;:何もしない実行文。文法を満たすために使用される。
★ / (スラッシュ):SQL*Plusなどのツールで、ブロックの終端を伝えて実行する記号。
1. 理解のコツ: プログラムの枠組みだけを先に作りたい時や、エラーをあえてスルーしたい時の「プレースホルダー」として `NULL;` を使うと覚えておくと便利です。
2. 動作確認の視点: 「Procedure created」はコンパイル成功を、「Statement processed」は実行成功を意味します。これが表示されれば、あなたのOracle環境のPL/SQLエンジンは健康そのものです。
4. まとめ
「何もしない」ことから始まるPL/SQLの道。これが全てのプログラムの最小単位です。ここから変数や制御構文を付け足していくことで、複雑な業務ロジックを組み上げていくことになります。まずはこのシンプルすぎる1歩を大切にしましょう!
PR