2014-03-27 2 views
1

Я пишу отчет SSRS, который будет принимать в качестве части его ввода список имен пользователей, сгенерированных SSRS. коробка с включенным мультиселектором. Я пытаюсь проверить свой код до ввода отчета, но он не работает. Пример кода, что я делаю:Мне нужно выполнить оператор select в SQL Server 2008r2 с 'where ColumnName in (@var)'

declare @userList  varchar(100); 

set @userList = 'domain\user1, domain\user2, domain\user3, domain\user4'; 

select 
    count(column) 
from 
    table 
where 
    userName in (@userList) 

Я также попытался:

set @userList = '''domain\user1'',''domain\user2'',''domain\user3'', ''domain\user4'''; 

безрезультатно.

Любые идеи?

ответ

1

Когда вы говорите, что пытаетесь протестировать SQL до размещения его в отчете, означает ли это, что вы пытаетесь запустить его в SQL Server Management Studio? Если это так, то простой ответ заключается в том, что вы не можете проверить многозначный параметр. TSQL не поддерживает его. Установите тестовую переменную на одно строковое значение для тестирования с помощью SSMS.

+0

спасибо. Знаете ли вы, как SSRS это делает? Проводится ли цикл через несколько значений, например курсор? –

+0

SSRS выполняет некоторую строчную подстановку в тексте запроса, не использует курсоры или петли. – Nathan

Смежные вопросы