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

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

DDD
DDD原创
2025-01-06 18:14:43365浏览

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

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

您正在使用一个 SSIS 包,它将数据从平面文件导入到桌子。您已包含执行 SQL 任务来创建临时表。

当您需要将特定条件作为参数传递给执行 SQL 任务中的 SQL 语句时,就会出现挑战。您希望使用包中定义的变量使其动态化,而不是对语句中的值进行硬编码。

解决方案:

将变量作为参数传递执行 SQL 任务,请按照以下步骤操作:

  1. 打开执行 SQL 任务
  2. 将 SQLSourceType 属性设置为 直接输入
  3. 在 SQL 语句字段中,输入用于创建临时表的 SQL 语句,但将硬编码条件替换为问号(?)。例如:
CREATE TABLE [tempdb].dbo.##temptable (
date datetime,
companyname nvarchar(50),
price decimal(10,0),
PortfolioId int,
stype nvarchar(50)
)

Insert into [tempdb].dbo.##temptable (date,companyname,price,PortfolioId,stype) 
SELECT   date,companyname,price,PortfolioId,stype
FROM        ProgressNAV
WHERE     (Date = ?) AND (PortfolioId = ?) AND (stype in (?))
ORDER BY CompanyName
  1. 选择左侧边栏中的参数映射选项卡。
  2. 单击添加按钮添加新参数映射。
  3. 对于每个参数(本例中为日期、PortfolioId 和 stype),选择保存动态值的相应 SSIS 变量。
  4. 单击确定保存执行 SQL 任务。

任务运行时,SSIS 变量将被传递作为 SQL 语句的参数,使您能够根据您指定的条件动态过滤临时表中的数据。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn