Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

置換変数でNULLが考慮されない

845902Mar 9 2011 — edited Mar 9 2011
SQLPlusを使っています。
下のプログラムを実行させ、&valに何も入力せずEnterを押すと
エラーになってしまいます。

DECLARE
i NUMBER := &val;
BEGIN
IF i = 0 OR i IS NULL THEN
DBMS_OUTPUT.PUT_LINE('0またはNULLです');
ELSIF i = 1 OR i = 2 THEN
DBMS_OUTPUT.PUT_LINE('1または2です');
ELSE
DBMS_OUTPUT.PUT_LINE('NULL,0,1,2ではありません');
END IF;
END;
/

自分はNULLにしているつもりなのですがどうやら考慮されていないらしいです。
&valがNULLのときELSE句に飛ぶようにするのはどうしたらいいでしょうか?
詳しい方ご教授お願いします。

エラーメッセージ等
valに値を入力してください:
旧 2: i NUMBER := &val;
新 2: i NUMBER := ;
i NUMBER := ;
*
行2でエラーが発生しました。:
ORA-06550: 行2、列14:
PLS-00103: 記号";"が見つかりました。 次のうちの1つが入るとき:
( - +

PC環境はVista,Oracle11gです。
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 6 2011
Added on Mar 9 2011
1 comment
620 views