• ベストアンサー

PLSQLについて

初心者の質問でほんとうにほんとうに申し訳ありません。 PLSQLでお伺い致しのですが、 例えば、もしaというパラメータがNULLだった場合に、 b_procというプロシージャを呼び出すという処理があったとして、 その呼び出したプロシージャのINパラメータを、NULLとして取得したい時の記述として、   IF a is NULL THEN b_proc(INパラメータ);    INパラメータ =: null;  ENDIF; という記述方法は正しいでしょうか? どなか教えて頂けませんか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Go_Ahead
  • ベストアンサー率67% (21/31)
回答No.2

補足ありがとうございます。 これじゃダメですか?。 begin if (a is null) then b_proc(null); end if; end; またパラメーターがどっから来るのか分からないので、 begin   if (a is null) then pi_prc_param := null ; b_proc(pi_prc_param); end if; end; こんなのとかでしょうか?。 上記2つは結果は同じです。

aaadd
質問者

お礼

なるほど。 教えて下さってありがとうございます。 助かりました!

その他の回答 (1)

  • Go_Ahead
  • ベストアンサー率67% (21/31)
回答No.1

上記でやりたい事って何でしょう?。 文法的には問題無いですし、IN パラメーターを変数として使いまわしたりする (奨励出来ませんけど)場合は再初期化して使ったりもしますが…。 正しい、正しくないのジャッジは例題では分かりません。 b_proc() のパラメータはどこで初期化されているのでしょう?。 もう少し詳細な補足があれば、回答もつくのではないでしょうか。

aaadd
質問者

補足

上記でやりたい事は、b_proc()を呼び出した際に、 INパラメータをNULLとして、b_proc()を取得したいという事だと思います。 あとパラメータはどこにも初期化はされていません。

関連するQ&A