SQLサーバーのストアドプロシジャを記述するにあたりWHEREのフィールド名と値を動的に設定する方法を教えてください。

A 回答 (2件)

私も調べていて困っています。


ストアドプロシージャの引数を@Code(検索値)、@Kbn(対象項目)とした場合、

SELECT *
FROM TableA A
WHERE @Code =
     CASE @Kbn
       WHEN '1' THEN A.SyohinCd
       WHEN '2' THEN A.TantouCd
       ELSE @Code         --全件
     END

こんな感じで出来そうな気がします。
実行環境が無い為、動作確認していません。
    • good
    • 0

一般的な回答になってしまいますが、「ホスト変数」といわれるものを使えばできると思います。


SQLサーバ(Microsoftの?)は使ったことが無いので具体的にはよく判りませんが、ヘルプなどを検索すると出てくるかもしれません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング