Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 передать в процедуру параметры  [new]
vovaa
Member

Откуда:
Сообщений: 198
Есть плоский отчет на основе большого с множеством параметров и операторов IN. Понятное дело что когда мы указываем в запросе такую конструкцию - where column1 in @parameter и затем выбираем несколько значений параметра SQL сам каким то образом "генерирует" такую конструкцию - where column1 in ('param_value1','param_value2','param_value3')

теперь я хочу вместо запроса использовать при формировании отчета либо процедуру либо функцию. но возникает проблема при передаче в процедуру множественных значений параметра. Может кто то сталкивался с данной ситуацией? Или тут вобще нет решения?
29 июн 11, 17:00    [10894628]     Ответить | Цитировать Сообщить модератору
 Re: передать в процедуру параметры  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
vovaa
Есть плоский отчет на основе большого с множеством параметров и операторов IN. Понятное дело что когда мы указываем в запросе такую конструкцию - where column1 in @parameter и затем выбираем несколько значений параметра SQL сам каким то образом "генерирует" такую конструкцию - where column1 in ('param_value1','param_value2','param_value3')
Вам показалось. Сервер текст запроса не изменяет.
vovaa
Может кто то сталкивался с данной ситуацией?
Table-Valued Parameters ( ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10de_1devconc/html/5e95a382-1e01-4c74-81f5-055612c2ad99.htm ), например.
29 июн 11, 17:04    [10894663]     Ответить | Цитировать Сообщить модератору
 Re: передать в процедуру параметры  [new]
Glory
Member

Откуда:
Сообщений: 104751
vovaa
Понятное дело что когда мы указываем в запросе такую конструкцию - where column1 in @parameter и затем выбираем несколько значений параметра SQL сам каким то образом "генерирует" такую конструкцию - where column1 in ('param_value1','param_value2','param_value3')

Это вдруг почему сервер сам начнет заменять один код на другой ?
29 июн 11, 17:05    [10894673]     Ответить | Цитировать Сообщить модератору
 Re: передать в процедуру параметры  [new]
vovaa
Member

Откуда:
Сообщений: 198
я же поставил генерирует в кавычки. я имел ввиду что когда мы в плоском отчете используем параметры и множественные значения то в запросе отчета мы пишем where column in @parameter и когда выбираем много занчений то sql строит отчет как если бы в запросе было написано where column in (список значений) Как он непосредственно выполняет это я не знаю. Но например если мы запрос засунем в процедуру и в нее передадим множественные значения параметра при формировании отчета то ничего не работает
29 июн 11, 18:08    [10895363]     Ответить | Цитировать Сообщить модератору
 Re: передать в процедуру параметры  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1578
vovaa
Есть плоский отчет на основе большого с множеством параметров и операторов IN. Понятное дело что когда мы указываем в запросе такую конструкцию - where column1 in @parameter и затем выбираем несколько значений параметра SQL сам каким то образом "генерирует" такую конструкцию - where column1 in ('param_value1','param_value2','param_value3')
C чего Вы взяли что делает именно сервер? Или Вы не в курсе существования ADO/ODBC, ЧЕРЕЗ которые Вы и работает с сервером? До сервера @parameter дошло? Или дошло только содержание @parameter?
29 июн 11, 18:19    [10895437]     Ответить | Цитировать Сообщить модератору
 Re: передать в процедуру параметры  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
vovaa,

в процедуру передавать либо табличную переменную либо строку (а внутри лепить динамику) либо xml
29 июн 11, 18:35    [10895520]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить