忍者ブログ
IT関係の小作人労働の日々の日記です。 インフラ構築、DB構築、アプリケーション開発・・・何でも屋です。 何でもできそうで、何にもできない。

【データベース: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

2. 実行結果:処理の受理

Procedure created.

Statement processed.

上記のように表示されます。何も出力はされませんが、エラーなく「動いている」ことがわかります。

3. 解説:なぜ「NULL;」が必要なのか

PL/SQLのブロック構造において、処理部(BEGIN〜END)を空にすることは文法エラーとなります。そのため、何もしないことを明示的に宣言する必要があります。

[ ポイントの整理 ]
CREATE OR REPLACE:既存のものがあれば上書きして作成する。
NULL;:何もしない実行文。文法を満たすために使用される。
/ (スラッシュ):SQL*Plusなどのツールで、ブロックの終端を伝えて実行する記号。

1. 理解のコツ: プログラムの枠組みだけを先に作りたい時や、エラーをあえてスルーしたい時の「プレースホルダー」として `NULL;` を使うと覚えておくと便利です。
2. 動作確認の視点: 「Procedure created」はコンパイル成功を、「Statement processed」は実行成功を意味します。これが表示されれば、あなたのOracle環境のPL/SQLエンジンは健康そのものです。


4. まとめ

「何もしない」ことから始まるPL/SQLの道。これが全てのプログラムの最小単位です。ここから変数や制御構文を付け足していくことで、複雑な業務ロジックを組み上げていくことになります。まずはこのシンプルすぎる1歩を大切にしましょう!



PR