IF/Else ステートメントを介して特定の値の渡された引数をテストし、最終的に結果を別のテーブルと交差させたいストアド プロシージャを作成しようとしています。動作しない疑似例として次のようなもの。
ALTER PROCEDURE [dbo].[Search]
@Keyword nvarchar(MAX),
@ClasificationId int
AS
BEGIN
SET NOCOUNT ON;
IF (@Keyword != null)
SELECT * FROM Table WHERE [Keyword] LIKE @Keyword
ELSE
SELECT * FROM Table
INTERSECT
IF (@Classification != null)
SELECT * FROM Table WHERE [ClassificationID] = @ClassificationId
ELSE
SELECT * FROM Table
END