SSIS:如何按条件存储主从记录?

SSIS: How to store master-details records by condition?

我是 SSIS 的新手,我完全无法回答也许很简单的问题。 我有两个具有一对多关系的 table。我在脚本组件中解析 HTML 数据,并为主数据和详细记录创建两个输出。

然后我检查覆盖现有数据的条件,如果满足,我写主记录到table。不幸的是,我的数据流如上图所示(示意图)。在任何情况下都会添加详细记录。我希望仅在满足条件(图片上的绿色箭头)时才存储详细信息,但无法想象如何去做。

当我们必须将 XML 数据加载到父子 table 时,我遇到了同样的问题。为此,我在包中添加了两个数据流任务。在第一个 DFT 中,我只解析了 XML 并将数据加载到 master table 中。在第二个 DFT 中,我解析了子 XML 节点数据并将此输出传递给合并连接运算符(第一个输入)。现在,我们必须将第二个输入传递给合并连接运算符,为此我已经从 master table 中提取数据。

伙计们! 最终我设法解决了这个问题。我将整个过程分成两个数据流。在第一个中,我解析 html,如果需要,将主数据保存在 table 中,并将解析的详细数据保存在包对象变量中。此外,第一个数据流有一个行计数组件,它将其值保存在 MasterRowCount 变量中。在第二个数据流中,我将详细数据保存在 table 中。第一个和第二个数据流通过表达式约束优先级 (@MasterRowCount > 0) 连接。因此,第二个数据流仅在添加主数据时执行。