【发布时间】:2017-02-21 18:39:44
【问题描述】:
我有一个在 SSIS 中执行的 SQL 查询,用于将数据加载到如下所示的 CSV 文件中:
SELECT *
FROM SomeTable
WHERE SomeDate BETWEEN '1-Jan-2016' AND '31-Dec-2016'
AND Param1 = 2 AND Param2 = 2
在 QlikView 中编写时,我使用了如下参数:
SELECT *
FROM SomeTable
WHERE SomeDate BETWEEN '1-Jan-2016' AND '31-Dec-2016'
AND Param1 = $(Param1) AND Param2 = $(Param2)
现在我正在将整个任务迁移到 SSIS,我正在研究如何获取它,以便动态分配 Param1 和 Param2。例如,在 QlikView 中,我创建了一个由另一个查询填充的表:
SELECT Param1, Param2
FROM ThisTable
WHERE SomeID = 1
类似的东西。从该查询中选择 Param1 和 Param2 可以让我在 QlikView 代码中获得 $(Param1) 和 $(Param2) 的必要值。
我现在正尝试将我的 QlikView 代码转换为 SSIS 包,因为 SSIS 是专用的 ETL 工具,而 QlikView 不是。我正在做的事情可能吗?如果是这样,我将如何去做?
我的想法是将它全部包装在一个 for 循环容器中,并在它从该查询中获取最后一个 Param1 和 Param2 后停止:
SELECT Param1, Param2
FROM ThisTable
WHERE SomeID = 1
基本上,我试图避免将我的第一个 select 语句写一千遍。
谢谢。
如果我说的没有道理,请告诉我,以便我能详细说明。
【问题讨论】:
标签: sql-server ssis