我正在使用PDI 6和PDI的新功能。我创建了这两个表:
edittext
我在PDI中创建了一个转换,简单,只需两步
第一步:
create table test11 (
a int
)
create table test12 (
b int
)
第二步:
insert into test11 (a)
select 1 as c;
我希望第二步执行 AFTER 第一步,因此将插入值9。但是当我运行它时,没有任何内容被插入到表test12中。在我看来,这两个步骤是并行执行的。为了证明这一点,我取消了第二步并将sql放在第1步中,就像这样
insert into test12 (b)
select 9 where 1 in (select a from test11);
它有效。所以为什么?我认为一步是一步,所以下一步将等到它完成,但事实并非如此?
答案 0 :(得分:1)
在PDI转换中,步骤初始化和执行并行发生。因此,如果您在单个转换中有多个步骤,则这些步骤将并行执行,数据移动以循环方式(默认情况下)进行。这主要是两个执行SQL步骤不起作用的原因,因为这两个步骤是并行执行的。 PDI Jobs也不是这样。除非配置为并行运行,否则作业以顺序方式工作。
现在针对您的问题,您可以尝试执行以下任一步骤:
希望这会有所帮助:)