我一直在努力奮鬥幾天,出現問題。我在Oracle數據庫(10g)中有幾張表,其中顯示按優先級排序的訂單列表,另一個列表顯示產品庫存。我想要做的是根據優先級將可用產品分配給訂單。我的問題是:PL/SQL根據其他表中某一行的值選擇多個項目
- 每個訂單將只收到一個產品。我如何才能根據可用的存在選擇可以接收產品的訂單?
- 爲了使程序更有效率,是否有一種方法可以在選擇產品時存儲庫存變更,並在程序結束時應用更新?
這兩個表都會有成千上萬的項目,所以我認爲PL/SQL存儲過程會更有效率。
感謝您的時間和幫助。 PS:這是我的表格的一個例子。
Orders
-------------------------------------------
| ID | Priority | Product
-------------------------------------------
| Order1 | 50 | 1
| Order7 | 48 | 3
| Order3 | 45 | 1
| Order2 | 40 | 1
| Order9 | 30 | 2
| Order4 | 15 | 3
Inventory
-------------------------------------------
| ProductID | Qty
-------------------------------------------
| 1 | 2
| 2 | 4
| 3 | 1
運行存儲過程後,我需要獲得以下結果並需要更新清單。
-------------------------------------------
| ID | Priority | Product
-------------------------------------------
| Order1 | 50 | 1
| Order7 | 48 | 3
| Order3 | 45 | 1
| Order9 | 30 | 2
Updated Inventory
-------------------------------------------
| ProductID | Qty
-------------------------------------------
| 1 | 0
| 2 | 3
| 3 | 0
到目前爲止你有什麼? – tbone