我有一个程序可以根据现有订单列表分配产品。
For rec_ord in(Select Order_ID,Order_Prop1,Order_Prop2,<some more columns>
from Order_Master Where <Some Conditions>)
Loop
<Step-1:Do some Processing on Order_Prop1,Order_Prop2>
[Log the Processing Result]
For rec_prod in (Select Prod_ID,Prod_Prop1,Prod_Prop2,<some more columns>
from Product_Master
Where Prod_Prop1 = Ord_Prop1
and <Some Conditions>)
Loop
<Step-2:Do Some Processing using Prod_Prop2 and Order_Prop2>
[Log the Processing Result]
<Decide Whether to Assign or Not>
[Log the assignment or non-assignment with reason]
End Loop
End Loop
我尝试了以下2种方法。
- 批量收集:我通过加入 Order_Master 和 Product_Master 将步骤 1 和 2 合并到单个查询中。然后使用 Bulk-Collect 插入作业。但是我失去了个人记录的记录和跟踪。
- For 循环:我使用了上面给出的 For 循环。但这需要的时间太长了。多次增加我的执行时间。
我希望处理速度与日志记录和跟踪一起快速。任何帮助表示赞赏。
提前谢谢。