ここでは、PL/SQL で constant 変数の宣言と初期化でコンパイルエラーとなる記述方法について掲載しています。詳細はサンプル中のコメントを参照ください。
スポンサーリンク
constant 変数でコンパイルエラー
CREATE OR REPLACE PROCEDURE VAR_TEST
IS
var1 varchar2(10); -- 変数の宣言のみ
var2 varchar2(10) := '1234567890'; -- 変数宣言と初期化
var3 constant varchar2(10) := 'ABCDEFGHIJ'; -- 変数宣言と初期化
-- 初期化なしでconstant 変数の宣言のみはできない(コンパイルエラー)
-- PLS-00322: 定数var4の宣言には、初期割当てが必要です。
-- var4 constant varchar2(10);
BEGIN
var1 := '9876543210';
-- constant で宣言した変数は初期化時のみ値の設定が可能(コンパイルエラー)
-- PLS-00363: 式var3は割当てターゲットとして使用できません。
-- var3 := 'update';
dbms_output.put_line('var1 = ' || var1);
dbms_output.put_line('var2 = ' || var2);
dbms_output.put_line('var3 = ' || var3);
/*
* ------------------------
* 出力結果
* ------------------------
* var1 = 9876543210
* var2 = 1234567890
* var3 = ABCDEFGHIJ
*/
END;
/
きっちした性格が素敵です。そのための constant なのですけどね。。。。