我是一名新手,最近参与了一项从我们业务的一个领域中删除序列化的项目(因此,有问题的材料成为无差别的散装部件,而不是单独识别的物品)。
作为这个项目的一部分,我需要对部分持有的单位数量求和,然后用这个值更新一个表。这是我的第一次尝试:
UPDATE TABLE(AVT) a
SET a.qty = (Select part_no, sum(b.qty) from inventory_part_in_stock_tab b
where b.contract = '12505'
group by b.part_no
WHERE a.part_no = b.part_no);
我意识到这是完全不正确的,但希望能准确说明我正在尝试做的事情。我设法创建了一个基于光标的程序,我认为该程序可以实现我想要的,但实用性却很慢。
这会在屏幕上以列表形式生成正确答案,但不会更新文件!
Select part_no, sum(qty) from inventory_part_in_stock_tab
where contract = '12505'
group by part_no
我们正在运行 Oracle 9i 有人可以帮忙吗?