繁体   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