我一直在努力奋斗几天,出现问题。我在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