私は、ユーザーがアプリケーションに要求しているパラメータの一部またはすべてを渡すことができるアプリケーションを用意しています。 (基本的に、彼らはいつでもさまざまなデータへの入力を止めることができます。)彼らが提供している入力に基づいて、MS SQL 2008データベースから、私が与えたパラメータだけを使って情報を取り戻したいと思います。ストアドプロシージャのオプションの属性WHERE句
私はこれのようなものを描いていますが、私はそれを動作させるように見えることはできません。
CREATE PROCEDURE [dbo].[SearchForSolution]
@Input1 int = 0,
@Input2 int = 0,
@Input3 int = 0,
AS
SELECT Name, SolutionValue
FROM MyTable
WHERE (IF @Input1 != 0) { BETWEEN LowValue AND HighValue }
AND (IF @Input2 != 0) { BETWEEN LowValue AND HighValue }
AND (IF @Input3 != 0) { < HighValue }
RETURN 0
明らかに、これは動作するコードではありませんが、一般的な考え方を示しています。 WHERE句の一部として変数を使用できるようにしたいのですが、マジックナンバー(この場合は0)を使用していない場合のみです。
私はここでSQLの機能に慣れていませんし、私がしたいことが可能かどうかはわかりません。私がこれまでに試したことはすべて失敗しました。もし私がここで間違った道を完全に辿っていれば、私は正しい方向のポインタを感謝するでしょう。ここで