- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PLSQLで条件によりSQLを動的に変えたい)
PLSQLで条件によりSQLを動的に変えたい
このQ&Aのポイント
- PLSQLで条件によりSQLを動的に変える方法について解説します。
- SQL文の中にPLSQLの制御文を追加する方法について考えます。
- SQL文の中に条件式を追加する際に注意すべきポイントを紹介します。
- みんなの回答 (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」となり常に真となるので、実質検索条件を指定していない 場合と同じ事になります。
お礼
お返事が遅くなりました。 参考にしました。ありがとうございます。