1.创建orders_master表
-
SQL> create table orders_master
-
2 (order_id number(2),
-
3 order_total number(4));
-
-
表已创建。
-
-
SQL> insert into orders_master values(1,1000);
-
-
已创建 1 行。
-
-
SQL> insert into orders_master values(2,2000);
-
-
已创建 1 行。
-
-
SQL> insert into orders_master values(3,3000);
-
-
已创建 1 行。
-
-
SQL> insert into orders_master(order_id) values(4);
-
-
已创建 1 行。
-
-
SQL> commit;
-
-
提交完成。
-
-
SQL> select * from orders_master;
-
-
ORDER_ID ORDER_TOTAL
-
---------- -----------
-
1 1000
-
2 2000
-
3 3000
-
4
2.创建monthly_orders表
-
SQL> create table monthly_orders
-
2 (order_id number(2),
-
3 order_total number(4));
-
-
表已创建。
-
-
SQL> insert into monthly_orders values(2,2500);
-
-
已创建 1 行。
-
-
SQL> insert into monthly_orders(order_id) values(3);
-
-
已创建 1 行。
-
-
SQL> commit;
-
-
提交完成。
-
-
SQL> select * from monthly_orders;
-
-
ORDER_ID ORDER_TOTAL
-
---------- -----------
-
2 2500
-
3
3.
-
merge into orders_master o
-
using monthly_orders m
-
on (o.order_id=m.order_id)
-
when matched then
-
update set o.order_total=m.order_total
-
delete where (m.order_total is null)
-
when not matched then
-
insert values(m.order_id,m.order_total)
4.
-
SQL> select *from orders_master;
-
-
ORDER_ID ORDER_TOTAL
-
---------- -----------
-
1 1000
-
2 2500
-
4
-
SQL> select *from monthly_orders;
-
-
ORDER_ID ORDER_TOTAL
-
---------- -----------
-
2 2500
-
3
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26937943/viewspace-1327762/
,如需转载,请注明出处,否则将追究法律责任。