gpt4 book ai didi

sql-server - SSIS:如果条件满足则执行第一个任务,否则跳到下一个任务

转载 作者:行者123 更新时间:2023-12-02 10:33:50 24 4
gpt4 key购买 nike

我正在了解SSIS,如果问题太简单,我很抱歉。

我在 foreach-loop-容器中得到了一组任务
第一个任务只需在特定用户变量不为 null 或空的条件上执行。
否则,流程应跳过第一个任务并继续执行第二个任务。

如何我将实现这一点(详细)?

最佳答案

问题 1:有两种方法可以解释您的逻辑:“...某个用户变量不为 null 或为空”:

  1. (变量不为空)或(变量为空)。
  2. (变量不为空)或(变量不为空)。

    这都是关于“不”这个词的宾语。差异很细微,但会影响 Foreach 循环中第一个任务的执行时间。出于演示目的,我假设您打算#1。

    问题2:第一个任务不再是第一个任务。为了在 BIDS 环境中使用 SSIS 完成您想要的任务,您需要在以前称为“第一个任务”的任务之前放置另一个任务。这样您就可以从新的第一个任务中对前一个第一个任务设置优先级约束。通过从托管代码动态设计 SSIS 可以实现您想要的目标,但我认为这个问题不值得与该设计选择相关的开销。我喜欢使用空的序列容器作为“ anchor ”任务 - 该任务仅作为优先约束的起始端点而存在。我大量记录了它们。我不希望任何人删除“不必要的空容器”并在大厅里徘徊几天摇头并重复“安迪,安迪,安迪......”但我离题了。

    在下面的示例中,我有两个优先约束,留下了空的序列容器。一个转到可以跳过的任务,另一个转到有时可以跳过的任务之后的任务。有时可以跳过的任务和后续任务之间需要第三个优先约束。请务必注意,必须编辑第三个优先约束,并将“多重约束”选项设置为“或”。这允许在采用任一相互排斥的先前路径时执行后续任务。默认情况下,它设置为 AND,并且需要两个路径来执行。根据定义,互斥路径不会(不能)发生这种情况。

    我测试名为 @MyVar 的 SSIS 字符串变量的值,看看它是 Null 还是 Empty。我对保留空序列容器的约束使用了仅表达式评估选项。这些表达方式有所不同,但建立了表达方式的相互排他性。我的 Foreach 循环容器如下所示:

SSIS diagram

我希望这会有所帮助。

:{>

关于sql-server - SSIS:如果条件满足则执行第一个任务,否则跳到下一个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9530983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com