Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来updating或inserting到一个或多个表.
Mergeinto cust_main t1 --主表
Using (selectid, CLIENT_NAME, PHONE_CODE fromc_110321093421) t2 –次表
on (t1.phone_code = t2.phone_code) –比较是否存在相同
Whenmatchedthen --存在
updateset t1.CLIENT_NAME = t2.CLIENT_NAME –修改
Whennotmatchedthen –不存在
insert
(id, CLIENT_NAME, PHONE_CODE)
values
(cust_sequent.nextval, t2.CLIENT_NAME,t2.PHONE_CODE) --创建
相关链接:http://blogold.chinaunix.net/u/12457/showart_346642.html
转载于:https://blog.51cto.com/agilitygod/1419824