Mule 3.7 - 数据库中存储过程的批量更新模式
Mule 3.7 - Bulk update mode for stored procedures in database
当我在 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 标志的存储过程来替换查询。请帮忙。
谢谢
你可以试试类似这样的:
<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批处理的批处理步骤。
我解决了这个问题。看起来我仍然可以通过选择 "Update" 函数使用存储过程(使用新的数据库组件)进行批量更新,但使用动态查询,这是一个存储过程。它允许我检查批量更新选项并接受一个数组作为输入。
<db:update config-ref="L360_Database_Configuration" bulkMode="true" doc:name="Sync_LoanAppDB">
<db:parameterized-query><![CDATA[${sp_name}]]></db:parameterized-query>
</db:update>
当我在 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 标志的存储过程来替换查询。请帮忙。 谢谢
你可以试试类似这样的:
<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批处理的批处理步骤。
我解决了这个问题。看起来我仍然可以通过选择 "Update" 函数使用存储过程(使用新的数据库组件)进行批量更新,但使用动态查询,这是一个存储过程。它允许我检查批量更新选项并接受一个数组作为输入。
<db:update config-ref="L360_Database_Configuration" bulkMode="true" doc:name="Sync_LoanAppDB">
<db:parameterized-query><![CDATA[${sp_name}]]></db:parameterized-query>
</db:update>