- PR -

動的SQLについて

1
投稿者投稿内容
もんた
常連さん
会議室デビュー日: 2005/05/19
投稿数: 20
投稿日時: 2008-12-01 14:01
お世話になります。

超基本的なことですいません。

PL/SQLであるテーブルにフィールが10あり、
そのうち4個のフィールドを検索条件に使って
カーソル処理したいのですが、
検索条件が最低1つの以上の指定で必ずしも
全部つかわれません。

全部使うのなら、わかるのですが、
可変の場合がわかりません。

EXECUTE IMMEDIATEのusingで可変の場合は、
どのように記述したらよいでしょうか?

よろしくお願いします。
こあら
大ベテラン
会議室デビュー日: 2007/06/26
投稿数: 157
投稿日時: 2008-12-01 14:56
> 超基本的なこと

でしたら本やネットで調べれば、すぐ解決するんじゃないですか?
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2008-12-01 15:14
最低限、使用してるDBとバージョンぐらいは書こうぜ。

多分、Oracleだと思うけど、
OracleSQLパズル(infoseek.co.jp)の10-155 is not trueとis not falseを模倣が参考になるかと。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-12-01 16:59
[code]
select * from xxxx
where
([入力された名前] = '' or 名前 = [入力された名前]) and
([入力された性別] = 0 or 性別 = [入力された性別]) and
([入力された年齢] = -1 or 年齢 = [入力された年齢])
[/quote]
こんな感じで書けば、固定のSQLで可変の条件を表現できます。
例えば年齢が未入力ならば-1とみなした場合、年齢のマッチングは真となり、
年齢は全て合致することになります。すなわち条件なしと同じです。
1

スキルアップ/キャリアアップ(JOB@IT)