Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行insertsupdates操作. MERGE命令从一个或多个数据源中选择行来updatinginserting到一个或多个表.

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