既存の注文リストに対して製品を割り当てる手続きを行っています。
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つの方法を試しました。
- Bulk Collect:I Order_Master と Product_Master を結合して、ステップ 1 と 2 を 1 つのクエリに結合しました。次に、Bulk-Collect を使用して割り当てを挿入します。ただし、個々のレコードのログと追跡が失われています。
- For ループ: 上記のように For ループを使用しました。しかし、これには時間がかかりすぎます。実行時間を何倍にも増やします。
ロギングと追跡とともに、処理を高速にしたいと考えています。どんな助けでも大歓迎です。
事前にサンクス。