I receive parameters to stored procedure:
x
@BDOnly BIT
, @CDOnly BIT
, @PPOOnly BIT
, @FBOMOnly BIT
Then depending of this variables I do an IF condition to set other variables like:
DECLARE @IsBDChecked VARCHAR(10)
, @IsCDChecked VARCHAR(10)
, @IsPPOChecked VARCHAR(10)
, @IsFBOMChecked VARCHAR(10)
IF(@BDOnly = 1)
BEGIN
SET @IsBDChecked = 'Test1'
END
IF(@CDOnly = 1)
BEGIN
SET @IsCDChecked = 'Test2'
END
IF(@PPOOnly = 1)
BEGIN
SET @IsPPOChecked = 'Test3'
END
IF(@FBOMOnly = 1)
BEGIN
SET @IsFBOMChecked = 'Test4'
END
Is that the best way to do this? or can I do better?
Advertisement
Answer
You can do the logic all inside one statement:
SELECT @IsBDChecked = (CASE WHEN @IsBDChecked = 1 THEN 'Test1' END),
@IsCDChecked = (CASE WHEN @IsCDChecked = 1 THEN 'Test2' END),
@IsPPChecked = (CASE WHEN @IsPPOChecked = 1 THEN 'Test3' END),
@IsFBOMChecked = (CASE WHEN @IsFBOMChecked = 1 THEN 'Test4' END)