Mule 3.7-数据库中存储过程的批量更新模式



当我在Mule的数据库组件中使用存储过程时,有没有一种方法可以使用批量模式。当前版本似乎只支持参数化查询。有什么变通办法吗?我正在尝试下面类似的方法。

<db:insert config-ref="" bulkMode="true" doc:name="Database">
        <db:parameterized-query>
            <![CDATA[INSERT INTO TABLE (ID, BILLING_NUMBER__C, TYPE)  
            VALUES (#[payload.Id], #[payload.Billing_Number__c], #[payload.type]);]]>
        </db:parameterized-query>
    </db:insert>

但是我想用一个存储过程来替换查询,我没有看到它的bulkMode标志。请帮忙。感谢

我解决了这个问题。看起来我仍然可以通过选择"update"函数使用存储过程(使用新的db组件)进行批量更新,但使用作为存储过程的动态查询。它允许我检查批量更新选项,并接受数组作为输入。

<db:update config-ref="L360_Database_Configuration" bulkMode="true" doc:name="Sync_LoanAppDB">
    <db:parameterized-query><![CDATA[${sp_name}]]></db:parameterized-query>
</db:update>

您可以尝试类似的方法:

<foreach doc:name="For Each">
        <db:stored-procedure config-ref="Generic_Database_Configuration" doc:name="Call Stored Procedure Function">
            <db:parameterized-query><![CDATA[CALL callFunction(:name,:id_serv);]]></db:parameterized-query>
            <db:in-param name="display_name" type="VARCHAR" value="#[payload.name]"/>
            <db:out-param name="id_serv" type="INTEGER"/>
        </db:stored-procedure>
</foreach>

或者,您可以将foreach更改为Mule的batch Processing的批处理步骤。

最新更新