次のようなストアド プロシージャがあります。
ALTER PROCEDURE [dbo].[hr_SearchVacanciesAdmin]
@SearchText NVARCHAR(50) = NULL,
@CompanyName NVARCHAR(100) = NULL,
@DutyStationID INT = NULL,
@VacancyCategoryIDs VARCHAR(1000) = NULL,
@Status INT,
@Language INT = 1
BEGIN
SELECT * from table
where
deleted = 0
and status = @status
and catname = &searchtext
..
..
..
END
if @status = 4 then delete = がチェックされないように、 where 条件に case ステートメントを追加したい。私は次のことを試みましたが、うまくいきませんでした
WHERE
1 = CASE
WHEN @Status = 4
THEN @status
WHEN dbo.hr_Vacancies.Deleted = 0
--Search Criteria
AND dbo.hr_Vacancies.Status = @Status
THEN @Status
END