簡體   English   中英

將結果存儲在執行 Sql 任務中

[英]Store result in Execute Sql task

我編寫了一個存儲過程,它將在執行后返回列 BEID、Date_of_txn、Txn_Amount 作為結果。 我在 SQL Server Management Studio 中運行存儲過程時手動獲取結果。 但是我想在 SSIS 中使用“執行 SQL”任務執行這個存儲過程,並且想將結果存儲在一個變量中。 我怎樣才能做到這一點?

我不知道如何將結果存儲在結果集中,因為當我運行包時,包每次都失敗了。

  • 結果集: Single Row
  • 連接類型: OLE DB
  • 連接: LocalHost.Fino_Detail
  • SQLStatement: Exec sp_HighAmount 02, 2019

存儲過程:

CREATE PROCEDURE [dbo].[sp_HighAmount]
    (@Month INT,
     @Year INT)
AS
BEGIN
    SELECT
        BEID, DATE_OF_TXN, SUM(Txn_amount) AS Txn_Amount 
    FROM 
        Fino_Sales
    WHERE
        SUBSTRING(Date_of_txn, 6, 2) = @Month
        AND SUBSTRING(Date_of_txn, 1, 4) = @Year
    GROUP BY
        BEID, Date_of_txn
    HAVING 
        SUM(Txn_Amount) BETWEEN 35001 AND 50000
        AND SUM(commission_paid) > 350
END
... 
group by BEID, Date_of_txn
...

此類查詢返回多行的概率很高,因此應將結果集切換為:“完整結果集”,並將輸出映射到類型為: Object的變量,並通過進一步的foreach任務遍歷每個排。

一個很好的分步演練可以閱讀: 在 SSIS 完整行集中執行 SQL 任務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM