首页 > 数据库 > mysql教程 > 如何将 SSIS 变量作为参数传递给动态 SQL 的执行 SQL 任务?

如何将 SSIS 变量作为参数传递给动态 SQL 的执行 SQL 任务?

Patricia Arquette
发布: 2025-01-06 18:17:43
原创
823 人浏览过

How to Pass SSIS Variables as Parameters to an Execute SQL Task for Dynamic SQL?

在 SSIS 中执行 SQL 任务中将变量作为参数传递

执行动态 SQL 操作通常需要将变量作为参数传递,以使查询更加通用。在 SSIS 包中,当您需要将外部值传递给执行 SQL 任务中的临时表创建查询时,您会遇到这样的场景。

问题:

考虑一个 SSIS 包,其中平面文件中的数据被插入到表中。在此包中,执行 SQL 任务用​​于创建一个名为 ##temptable 的临时表,其中包含特定列。接下来,数据将根据某些过滤条件插入到##temptable中。要求是使用 SSIS 包中创建的变量动态传递这些过滤条件。

解决方案:

要实现动态参数传递,请按如下方式配置执行 SQL 任务:

  1. 将 SQLSourceType 设置为“直接输入”。
  2. 在 SQL 中语句,指定存储过程名称以及每个参数的问号,例如:
CREATE PROCEDURE [dbo].[usp_temptable]
(
    @date DATETIME,
    @portfolioId INT,
    @stype NVARCHAR(50)
)
AS
BEGIN
    INSERT INTO [tempdb].dbo.##temptable (date, companyname, price, PortfolioId, stype)
    SELECT   date, companyname, price, PortfolioId, stype
    FROM        ProgressNAV
    WHERE     (Date = @date) AND (PortfolioId = @portfolioId) AND (stype in (@stype))
    ORDER BY CompanyName
END
登录后复制
  1. 单击参数映射选项,建立每个存储过程参数与相应的 SSIS 变量。
  2. 使用将在任务执行期间传递给存储过程的所需值配置 SSIS 变量。

以上是如何将 SSIS 变量作为参数传递给动态 SQL 的执行 SQL 任务?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板