Это хороший способ обработки необязательного параметра в хранимой процедуре? - PullRequest
0 голосов
/ 06 ноября 2019

В хранимой процедуре у меня есть необязательный параметр @UserId (uniqueidentifier). В SQL, который я собираюсь использовать, если указан параметр, мне нужно использовать его в предложении where. Если это не так, то я должен игнорировать это. Имейте в виду, что у меня есть несколько необязательных параметров.

Чтобы справиться с этим, вот что я делал:

where (usr.UserId = @UserId OR @UserId is null)

Есть ли некоторые неприятные побочные эффекты, чтобы сделать это таким образом?

Это в MS SQL Server 2014.

1 Ответ

0 голосов
/ 06 ноября 2019

Должно быть в порядке, но если у вас есть много дополнительных параметров, вы можете посмотреть динамический sql http://www.sqlservertutorial.net/sql-server-stored-procedures/sql-server-dynamic-sql/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...