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

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

Linda Hamilton
Linda Hamilton原创
2025-01-06 18:16:40129浏览

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

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

在 SSIS 包中涉及多个数据库操作通常需要动态设置 SQL 参数。 SSIS 中的执行 SQL 任务提供了一种实现此目的的便捷方法。

假设您有一个 SSIS 包,它从平面文件中检索数据并将其插入到数据库表中,利用执行 SQL 任务创建临时表使用参数化查询。您的目标是通过传递指定日期、投资组合 ID 和股票类型作为变量的参数来使查询动态化。

要在执行 SQL 任务中完成此操作:

1.将 SQLSourceType 设置为 Direct Input

这表示 SQL Statement 属性将直接指定 SQL 查询。

2.在 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

3。将变量映射到参数

在“执行 SQL 任务”编辑器的“参数映射”部分中,添加 SQL 语句中的每个参数。然后,将每个参数映射到其相应的 SSIS 变量:

| Parameter | SSIS Variable |
|---|---|
| Date | @Date |
| PortfolioId | @PortfolioId |
| stype | @Stypet |

4。运行任务

执行后,执行 SQL 任务会将分配给这些变量的值注入到查询中,确保检索到适当的数据并将其插入到临时表中。

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

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