如何使用summ将数据从一个表更新到另一个表

时间:2014-04-22 21:00:30

标签: sql oracle

抱歉,如果我困惑你 我正致力于计费软件 我的模块是使用jsp i的计费模块,所有都是在一个pont上发生的,即; 我有一个item_receive表(从仓库到出口的物品信息)和一个库存表 我想将item_receive表中的数据插入到stock表中。但是如果item已经存在,则在stock表中添加并添加qty而不影响item_receive表的数据 如何以及我必须使用

`create table item_receive(itemid number,item_name varchar2(10)......qty number,units number.....)

`create table stock(item_name varchar2(10),........totalqty number,.....)

1 个答案:

答案 0 :(得分:0)

如果你想

  1. 如果stock尚未填充,请在item_name表格中插入一行 存在,
  2. 通过添加qty中的item_receive来更新行 表格到totalqty
  3. 然后您可以考虑使用MERGE语句,如下所示:

    MERGE INTO stock s
    USING item_receive ir
    ON s.item_name  = ir.item_name
    WHEN MATCHED THEN
        UPDATE SET s.totalqty = s.totalqty +  ir.qty
    WHEN NOT MATCHED THEN
        INSERT (item_name, ..., totalqty, ...)
        VALUES (ir.item_name, ..., ir.qty, ...);