骡子在成功插入时返回主键

问题描述 投票:0回答:2

您好,我是 Mule 的新手,我需要有关如何处理记录的指导。我正在尝试执行一个操作,我将一条新记录插入到一个表中,如果记录插入成功,则获取主键并将其插入到另一个表中,其中主键是外键的一部分。

我不知道使用哪个连接器或组件来检查插入是否成功,以便我可以将主键插入到另一个表中。

我的主键是作为变量生成的uuid。我尝试使用以下文档从 sql server 返回 GUID,但它没有用。关于这两个问题的任何帮助或指示都会有所帮助。

https://doctorjw.wordpress.com/2015/10/01/mule-and-getting-the-generated-id-of-a-newly-inserted-row/

mule mule-studio mule-component mule-el
2个回答
1
投票

如果你想要一个 DB 生成的 Id,你可以使用两个 DB 块,在它们之间保存一个变量:

第一个 DB 块:生成一个唯一的 Id 抛出一个序列,例如:

select GENERAID_ESB.nextval from dual

保存变量(会话或流,取决于您需要的范围):

#[payload.get(0).nextval]

第二个数据库块:将您的记录插入数据库并保存唯一ID,例如:

INSERT INTO ESB_TABLE values(#[(sessionVars.'idTable')],
#[message.outboundProperties.'yourInformation'])**

我希望这有帮助。


0
投票

在mule 4.4中,很简单: 1、在Advanced-auto generate key中设置'true'

2、返回的payload有key:

© www.soinside.com 2019 - 2024. All rights reserved.