4 つのパラメーターに基づいてテーブルから情報をフェッチするストアド プロシージャがあります。
パラメータに基づいて値を取得したいのですが、パラメータが NULL の場合、そのパラメータはチェックされません。したがって、4 つのパラメーターがすべて null の場合、テーブル全体が表示されます。
これは私のSPです(ご覧のとおり、これは1つのパラメーターatmでのみ機能します):
CREATE PROCEDURE myProcedure
@Param1 nvarchar(50),
@Param2 nvarchar(50),
@Param3 nvarchar(50),
@Param4 nvarchar(50)
AS
BEGIN
IF(@Param1 IS NULL)
BEGIN
SELECT Id, col1, col2, col3, col4 FROM myTable
END
ELSE
BEGIN
SELECT Id, col1, col2, col3, col4 FROM myTable WHERE col1 LIKE @Param1+'%'
END
END
すべての可能な組み合わせ (15 個の IF) を使用せずにこれを行う方法はありますか?IF