Как сделать вставку из набора результатов многозначного параметра в SSRS? - PullRequest
2 голосов
/ 21 ноября 2011

Я не могу получить отчет о запросе многозначного параметра для выполнения. Мне нужно сделать INSERT из набора результатов из того, что было отфильтровано. Итак, у меня есть набор данных, который делает вставку из многозначного параметра sproc. Результат параметра @multivalue уничтожает столбец 1, столбец 2, столбец 3 и должен быть получен из набора данных хранимой процедуры, а столбец 4 - из выбора из таблицы 2, что-то вроде ...

INSERT INTO "table1" ("column1", "column2", "column3", "column4")
    SELECT "@multivalue", "column4"
    FROM "table2"

Хорошо, я получаю часть этого, чтобы работать. Вставить набор данных работает, если я устанавливаю жестко закодированное значение в своем наборе @ Multivalue = '00 -00200-002 'Но мне нужно, чтобы это было результатом запроса хранимой процедуры.

declare @MultiVal nvarchar(max)
set @MultiVal= N'**RESULT OF @MultiVal GOES HERE**'
insert into TABLE (column1,column2,column3,column4)
EXEC sproc @MultiVal

Спасибо. Я использую функцию разбиения, которая разбивает @MultiVal на 4 столбца, и использую = JOIN ... Я был бы признателен, хотя, если бы мог более подробно остановиться на вашей идее, я немного медленный после двух последних дней, работая над этим вещь. Кажется, что я должен быть в состоянии сделать что-то вроде этого,

declare @MultiVal nvarchar(max) 
,@result nvarchar(max) 
set @MultiVal=@result 
insert into table (column1,column2,column3,column4,column5) 
Values (@result= 'EXEC storedprocedure @MultiVal) 

1 Ответ

0 голосов
/ 21 ноября 2011

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

Другой, более надежный вариант - объединить выбранные значения в параметре с несколькими значениями вместе, передать их в sproc как одно значение, а затем проанализировать их обратно с помощью курсора (обычно медленно, но для этого должно быть в порядке)

Вы можете объединить выбранные значения вместе, используя следующий код в SSRS ...

JOIN(Parameters!MultiValParam.Value, ",")

поменяйте местами ", " с разделителем выбора

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