PL/SQL プログラミング入門(1) > PL/SQL ブロック、コメント

PL/SQL の基本要素:コメント、PL/SQLブロック

行コメントとブロックコメント

行コメントとブロックコメントが用意されている。

行コメント
連続した 2つのハイフン('--')の以降はその行の最後までコメント化される。
ブロックコメント
スラッシュ、アスタリスク('/*') とアスタリスク、スラッシュ('*/')で囲まれたブロックはコメントアウトされる。
 -- 行コメントの例
 <statement> ;
  ....
 
 /* ブロックコメントの例
  ブロックコメント
 ....
 */
<statement> ;
 ...

Tips

PL/SQL ストアド・サブプログラムで ブロックコメントを使用すると、エラー発生時のメッセージに出力されるエラー行の位置が正しい行番号にならない。これはブロックコメントの行数分だけ、ずれることから考えるとブロックコメントがコンパイル時に削除されているためだと思われる。 行コメントの場合には、なぜか、このずれは発生しない。PL/SQL の開発には行コメントだけを使用する方がよいだろう。

PL/SQL ブロック

最小のブロック構文

何もしない無名のブロック

BEGIN
	-- NULL = NOP ... NO OPERATION 
	NULL;
END;
/

変数の定義をともなうブロック

ストアド・サブプログラムのようにサーバーにプログラムを格納しないで変数を使用する場合
SQLPlus で、そのまま実行できる。

DECLARE
	vNum	NUMBER(2);
BEGIN
	vNum := 1 ;
	DBMS_OUTPUT.PUT_LINE('数値=' || vNum);
END;
/

このプログラムを SQL*Plus で実行する場合には、

SET SERVEROUTPUT ON 

という DBMS_OUTPUT の出力命令をディスプレイに表示させる設定を事前にしておかなければ、 結果は表示されない。


  • 補足

上の例をストアドプロシージャにしたい場合には、以下のように
DECLARE のところを CREATE PROCEDURE DISP_NUMBER IS に変更する。

CREATE PROCEDURE DISP_NUMBER
IS
	vNum	NUMBER(2);
BEGIN
	vNum := 1 ;
	DBMS_OUTPUT.PUT_LINE('数値=' || vNum);
END;
/

これを呼び出すには

CALL DISP_NUMBER() ;
または、
EXECUTE DISP_NUMBER

と実行する。CALL 命令は Oracle 9i 以降 ⇒ CALL と EXECUTE の違い



関連事項

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ オラクルサポートセンター