- - PR -
動的SQLについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-09-27 17:53
御世話になります。
そら豆と申します。 SQL文についてご教授願います。 SQL-SERVER 2000 のストアドプロシジャーで、WHERE句(値ではなく、条件)が、 実行する都度に変わる場合、どのようにSQL文を書けばよろしいのでしょうか? WHERE句の値が変わるだけあれば、 sp_executesql を使用すればよいと解ったのですが、 条件が変わる場合のSQL文が解りませんでした。 ご教授宜しくお願い致します。 | ||||
|
投稿日時: 2007-09-28 09:30
どう変わるのか詳しく
たとえば、複数の検索条件があって、そのうち入力された部分のみで抽出を行いたいとか? もしそうなら、以下の方法は? 8-2 case式でis not falseを模倣(oraclesqlpuzzle.hp.infoseek.co.jp) | ||||
|
投稿日時: 2007-09-28 12:46
どこになやんでいるのか分からないです。
やった事を書いて頂けますか? | ||||
|
投稿日時: 2007-09-28 13:41
よっしー様、
かずくん様 ご回答ありがとうござました。 御世話になります。 そら豆です。 漠然としすぎた質問をしてしまい申し訳ありませんでした。 質問内容を少し変えます。 ある条件(画面からの条件)により、 抽出条件が以下のように異なる場合 sp_executesqlは使用できないのでしょうか? また、使用できたとしても、抽出条件が全く異なるものとなる為、 sp_executesqlを使う意味(キャッシュ)は無いのでしょうか? 条件A select * from 商品マスタ where 商品コード=1 条件B select * from 商品マスタ where 商品コード=1 and 営業所コード=1 | ||||
|
投稿日時: 2007-09-28 15:28
条件Aの時、@Z=1
条件Bの時、@Z=0 select * from 商品マスタ where 商品コード= @X and (営業所コード=@Y or 1 = @Z) とかでしょうか? | ||||
|
投稿日時: 2007-09-30 13:54
てゆーか、それを実現する方法の一つがこれ↓ 8-2 case式でis not falseを模倣(oraclesqlpuzzle.hp.infoseek.co.jp) |
1