Sql server 在SSIS中执行6条SQL语句
要实现我的目标表,唯一的方法是通过6条SQL语句。它们必须按顺序执行,也就是说1、2、3……6。在这个过程中,我使用了5个所谓的“临时/居民表”。SSIS中是否有任何语句?我只想知道是否可以在SSIS中重用这6条语句。表示运行这6条语句的流程。可能吗?如果是这样的话,介意指导我怎么做吗?控制流中包含什么,数据流中包含什么 谢谢,Sql server 在SSIS中执行6条SQL语句,sql-server,ssis,Sql Server,Ssis,要实现我的目标表,唯一的方法是通过6条SQL语句。它们必须按顺序执行,也就是说1、2、3……6。在这个过程中,我使用了5个所谓的“临时/居民表”。SSIS中是否有任何语句?我只想知道是否可以在SSIS中重用这6条语句。表示运行这6条语句的流程。可能吗?如果是这样的话,介意指导我怎么做吗?控制流中包含什么,数据流中包含什么 谢谢, 10e5x我怀疑您将问题复杂化了,您可以将所有6条语句放入一个“执行SQL任务”控制流项中,或者您可以将它们全部放入一个存储过程中,SQL语句的顺序正确,并通过“执行S
10e5x我怀疑您将问题复杂化了,您可以将所有6条语句放入一个“执行SQL任务”控制流项中,或者您可以将它们全部放入一个存储过程中,SQL语句的顺序正确,并通过“执行SQL任务”来执行 就我个人而言,我会将它们放入一个存储过程中
数据流用于数据,即移动数据块,控制流用于控制操作顺序,其中一个或多个可能是数据流。我怀疑您将问题复杂化了,您可以将所有6条语句放入一个“执行SQL任务”控制流项中,或者您可以将它们以正确的顺序放入一个包含SQL语句的存储过程中,并通过“执行SQL任务”来执行 就我个人而言,我会将它们放入一个存储过程中
数据流用于数据,即移动数据块,控制流用于控制操作顺序,其中一个或多个可能是数据流。您可以使用通用表表达式将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;
您可以使用通用表表达式将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;
您是否已经创建了这些临时表,或者需要动态创建它们?你在这里面临的复杂性是什么?我想这是在进行中。例如,sql1将派生temp1,sql2将使用temp1派生2…sql6 wll,然后使用temp5派生我的目标表。有什么建议吗?检查下面的CTE示例。您是否已经创建了这些临时表,或者需要动态创建它们?你在这里面临的复杂性是什么?我想这是在进行中。例如,sql1将派生temp1,sql2将使用temp1派生2…sql6 wll,然后使用temp5派生我的目标表。有什么建议吗?请查看下面的CTE示例。真正的SSIS不喜欢临时表。但前提是您希望它们在任务之间保持不变。这显然是可行的,当然只是一团糟。然而,我没有建议尝试在任务之间持久化临时表。如果OP将他的脚本放在一个SQL任务中,它就会工作得很好。这就是为什么我同意使用存储过程的原因。谢谢你澄清我的观点。大家好,你们所有的解决方案听起来都很合乎逻辑。所以我想我应该把它们放在存储过程中。当前临时表是动态创建的,例如sql1将派生temp1,sql2将使用temp1派生temp2。如何在SSIS中优化这种流?V.true SSIS不喜欢临时表。但前提是您希望它们在任务之间保持不变。这显然是可行的,当然只是一团糟。然而,我没有建议尝试在任务之间持久化临时表。如果OP将他的脚本放在一个SQL任务中,它就会工作得很好。这就是为什么我同意使用存储过程的原因。谢谢你澄清我的观点。大家好,你们所有的解决方案听起来都很合乎逻辑。所以我想我应该把它们放在存储过程中。当前临时表是动态创建的,例如sql1将派生temp1,sql2将使用temp1派生temp2。如何在SSIS中优化这种流?