库存表:A ,字段:物品名 GOODS, 数量:NUMS 
订单表:B, 字段:物品名 GOODS, 数量:NUMS 
求一update语句, 从库存表A中减去 订单表B所下物品的数量,
另外求merge语句的用法

解决方案 »

  1.   


    SQL> create table t1("物品名"  varchar2(10),"数量" number);表已创建。
    SQL> insert into t1 values('goods',10);已创建 1 行。SQL> create table t2("物品名"  varchar2(10),"数量" number);表已创建。SQL> insert into t2 values('goods',5);已创建 1 行。
    SQL> select * from t1;物品名                     数量
    -------------------- ----------
    goods                        10SQL> select * from t2;物品名                     数量
    -------------------- ----------
    goods                         5
    SQL> update t1 set 数量=(select (select 数量 from t1) -(select 数量 from t2) from t1) where 物品名='goods';已更新 1 行。SQL> select * from t1;物品名                     数量
    -------------------- ----------
    goods                         5
    merge是对数据进行合并操作的,如update、delete、insert
    主要用法:
    merge into 表1 using 表2 on(...)  
    when match/not match
    then update/insert/delete 条件