условный запрос - PullRequest
       0

условный запрос

0 голосов
/ 28 октября 2011

У меня есть процедура сохранения со многими условиями, но одно из них зависит от значения одного из моих параметров.На данный момент я использую оператор if и дублирующий запрос, я хочу улучшить, но не могу найти другой путь.какая-то идея, как

MyStoreProcedure Code

If @paramstate = 'All'
    Select mytable.field1, mytable.field2, mytable.field3, mytable.field4,mytable.field5
    from mytable
    Where mytable.field6 is null
    and mytable.field1 is not null
Else
    Select mytable.field1, mytable.field2, mytable.field3, mytable.field4,mytable.field5
    from mytable
    Where mytable.field6 is null
    and mytable.field1 is not null
    and mytable.state = @paramstate 
End

как я могу улучшить его?

1 Ответ

1 голос
/ 28 октября 2011

Я думаю, что это устраняет необходимость в операциях if / else, но имейте в виду, что это может не быть эффективным

 Select mytable.field1, mytable.field2, mytable.field3, mytable.field4,mytable.field5
    from mytable
    Where mytable.field6 is null
    and mytable.field1 is not null
    and (mytable.state = @paramstate  or @paramstate = 'All')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...