• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PLSQLで条件によりSQLを動的に変えたい)

PLSQLで条件によりSQLを動的に変えたい

このQ&Aのポイント
  • PLSQLで条件によりSQLを動的に変える方法について解説します。
  • SQL文の中にPLSQLの制御文を追加する方法について考えます。
  • SQL文の中に条件式を追加する際に注意すべきポイントを紹介します。

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

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 > 動的SQLでは無い方法でそのような事が可能でしょうか? decode を使えば可能かもです。 例えば、v1, v2, v3 と言う数値型変数にそれぞれ列B, 列C, 列Dに 対する検索値が格納されていて、値が-1 だった場合に、検索条件を 無効化する場合、以下のようなSQL で実現できます。 select * from tablea  where a=1 and b=decode(v1, -1, b, v1) and   c=decode(v2, -1, c, v2) and   d=decode(v3, -1, d, v3); こうすると、例えばv1変数に-1 が設定されている時の検索条件は 「b=b」となり常に真となるので、実質検索条件を指定していない 場合と同じ事になります。

evaag777
質問者

お礼

お返事が遅くなりました。 参考にしました。ありがとうございます。

関連するQ&A