- ベストアンサー
PLSQLについて
初心者の質問でほんとうにほんとうに申し訳ありません。 PLSQLでお伺い致しのですが、 例えば、もしaというパラメータがNULLだった場合に、 b_procというプロシージャを呼び出すという処理があったとして、 その呼び出したプロシージャのINパラメータを、NULLとして取得したい時の記述として、 IF a is NULL THEN b_proc(INパラメータ); INパラメータ =: null; ENDIF; という記述方法は正しいでしょうか? どなか教えて頂けませんか? よろしくお願い致します。
- みんなの回答 (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つは結果は同じです。
その他の回答 (1)
- Go_Ahead
- ベストアンサー率67% (21/31)
上記でやりたい事って何でしょう?。 文法的には問題無いですし、IN パラメーターを変数として使いまわしたりする (奨励出来ませんけど)場合は再初期化して使ったりもしますが…。 正しい、正しくないのジャッジは例題では分かりません。 b_proc() のパラメータはどこで初期化されているのでしょう?。 もう少し詳細な補足があれば、回答もつくのではないでしょうか。
補足
上記でやりたい事は、b_proc()を呼び出した際に、 INパラメータをNULLとして、b_proc()を取得したいという事だと思います。 あとパラメータはどこにも初期化はされていません。
お礼
なるほど。 教えて下さってありがとうございます。 助かりました!