2011-11-21 57 views
2

我无法获取要执行的多值参数查询报告。我需要从已被过滤掉的结果集中生成一个INSERT。所以,我有一个数据集,从多值参数sproc插入。该@multivalue参数结果碎片了列1,列2,栏3,意在从存储过程中的数据集和column4从表2,有点像选择导出...如何从SSRS中的多值参数结果集插入?

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

好吧,我得到的这部分工作。如果我在set @ 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 

谢谢Unfgiv。我使用了一个split函数,将@MultiVal分解成4列,并使用= JOIN ...我将不胜感激,但如果能更详细地阐述你的想法,在过去的两天之后我有点慢,事情。看起来虽然我应该可以这样做,

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

回答

0

我不确定您是否可以将多值SSRS参数映射到不同的存储过程参数。我认为你需要将你的多值参数分成布尔字段(如果你只有4个指定的),它将决定是否应该传递值。

另一个更强大的选项是将多值参数中的选定值连接在一起,将它们作为一个值传递到存储区,然后使用游标将其解析出来(通常很慢,但为此它应该是确定)

您可以通过使用在SSRS下面的代码加入你选择的值加在一起......

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

换出了“”与DELIM选择

相关问题