为了实现我的目标表,我出来的唯一方法是通过6个SQL语句。并且它们必须按顺序执行,即1然后2然后3 ..... 6。在这个过程中,我使用了5个所谓的“临时/居民表”。 SSIS中有没有?我想知道我是否可以在SSIS中重用这6个语句。表示流程流来运行这6个语句。可能吗?如果是这样,介意我怎么样?控制流中包含哪些内容以及数据流中包含哪些内容?
谢谢,
10e5x
答案 0 :(得分:4)
我怀疑你使问题复杂化了,你可以将所有6个语句放入一个“执行SQL任务”控制流项中,或者你可以将它们全部放入一个存储过程中,SQL语句的顺序正确,通过“执行SQL任务”执行该操作。
我个人将它们放入存储过程中。
数据流用于数据,即移动数据块,控制流用于控制一个或多个可能是数据流的操作序列。
答案 1 :(得分:0)
您可以使用公用表表达式将6个相互依赖的SQL语句合并为一个。对于例如我只展示了3个表,C1,C2,C3和最终的select语句。不要忘记最后的分号。
WITH C1 AS
(
SELECT Col1,Col2,Col3
FROM Table1
),
C2 AS
(
SELECT Col1, count(Col1) as numOfCol1
FROM C1
GROUP BY Col1
),
C3 AS
(
Select substring(Col1,1,10) as FirstName, substring(Col1,10,10) as LastName, numOfCol1
FROM C2
),
SELECT *
FROM C3
WHERE numofCol1 > 10;