为了实现我的目标表,我得出的唯一方法是通过 6 个 SQL 语句。并且它们必须按顺序执行,即 1 然后 2 然后 3.....6。在此过程中,我使用了 5 个所谓的“临时/居民表”。SSIS 中有吗?我想知道我是否可以在 SSIS 中重用这 6 个语句。意思是运行这 6 个语句的流程。可能吗?如果是这样,介意指导我如何?控制流中包含哪些内容以及数据流中包含哪些内容?
谢谢,
10e5x
为了实现我的目标表,我得出的唯一方法是通过 6 个 SQL 语句。并且它们必须按顺序执行,即 1 然后 2 然后 3.....6。在此过程中,我使用了 5 个所谓的“临时/居民表”。SSIS 中有吗?我想知道我是否可以在 SSIS 中重用这 6 个语句。意思是运行这 6 个语句的流程。可能吗?如果是这样,介意指导我如何?控制流中包含哪些内容以及数据流中包含哪些内容?
谢谢,
10e5x
我怀疑您将问题复杂化了,您可以将所有 6 条语句放入一个“执行 SQL 任务”控制流项中,或者您可以将它们全部放入一个存储过程中,其中 SQL 语句以正确的顺序执行并通过“执行 SQL 任务”。
我个人会将它们放入存储过程中。
数据流用于数据,即移动数据块,控制流用于控制操作序列,其中一个或多个可能是数据流。
您可以使用Common Table Expressions将 6 个相互依赖的 SQL 语句组合为一个。例如,我只展示了 3 个表,C1、C2、C3 和一个最终的选择语句。不要忘记末尾的分号。
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;