Параметр хранимой процедуры для диапазона - PullRequest
0 голосов
/ 31 января 2020

Этот вопрос специально предназначен для хранимых процедур для обслуживания отчетов SSRS, но я думаю, что его можно применить к любой хранимой процедуре.

Часто мы отправляем диапазон в хранимую процедуру, чтобы получить данные для этого диапазона. Например, получить все данные о клиентах, имена которых начинаются с «А» до «К». На стороне клиента у меня есть выпадающий список всех имен клиентов (с typeahead), и пользователь может выбрать начало и конец. В раскрывающемся списке я показываю только имя клиента, но у меня также есть идентификатор клиента. Теперь стоит отметить, что это всего лишь пример, я не всегда ищу клиента между «А» и «К». Есть времена, диапазон для чего-то совершенно другого. Для краткости мы будем придерживаться имен клиентов.

Допустим, пользователь выбрал следующее:

  • Начало: Элейн Бенис (CustomerId: 199)
  • Конец: Джерри Сейнфельд (CustomerId: 3)

Теперь у меня есть 2 варианта передачи этих параметров в хранимую процедуру.

  1. Передача имен "Elaine Benes" и "Jerry Seinfeld"
  2. Pass IDs 199 и 3. На стороне хранимой процедуры найдите имя 199 и имя 3 и используйте их.

Если I go с вариантом 1, если клиент не использует раскрывающийся список с именами из таблицы клиентов они могут передавать любую строку. Вариант 2 заставляет их отправлять идентификатор клиента. Но для варианта 2 потребуется поиск идентификаторов на стороне хранимой процедуры, чтобы найти имя, поэтому необходимо проделать дополнительную работу.

У меня вопрос , с какими вариантами мне следует go использовать? Есть ли плюсы / минусы для каждого подхода?

...