Используйте несколько условий IF, чтобы установить переменную - PullRequest
0 голосов
/ 03 апреля 2019

получаю параметры к хранимой процедуре:

          @BDOnly                       BIT
        , @CDOnly                       BIT
        , @PPOOnly                      BIT
        , @FBOMOnly                     BIT 

Затем, в зависимости от этих переменных, я выполняю условие IF, чтобы установить другие переменные, такие как:

  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

Это лучший способ сделать это? или я могу сделать лучше?

1 Ответ

2 голосов
/ 03 апреля 2019

Вы можете сделать логику внутри одного утверждения:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...