2011-11-21 32 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選擇