日期:2014-05-16  浏览次数:20372 次

Oracle中merge into的使用

Oracle中merge into的使用

?

http://blog.csdn.net/yuzhic/article/details/1896878

http://blog.csdn.net/macle2010/article/details/5980965

?

该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSERT 关键词,ORACLE 10g 做了如下改动。

1,insert 和update是可选的 2,UPDATE 和INSERT 后面可以跟WHERE 子句 3,在ON条件中可以使用常量来insert 所有的行到目标表中,不需要连接到源表和目标表 4,UPDATE 子句后面可以跟delete 来去除一些不需要的行。

举例:

  1. create?table?PRODUCTS ??
  2. ????( ??
  3. ????PRODUCT_ID?INTEGER, ??
  4. ????PRODUCT_NAME?VARCHAR2(60), ??
  5. ????CATEGORY?VARCHAR2(60) ??
  6. ????); ??
  7. ??
  8. ????insert?into?PRODUCTS?values?(1501,?'VIVITAR?35MM',?'ELECTRNCS'); ??
  9. ????insert?into?PRODUCTS?values?(1502,?'OLYMPUS?IS50',?'ELECTRNCS'); ??
  10. ????insert?into?PRODUCTS?values?(1600,?'PLAY?GYM',?'TOYS'); ??
  11. ????insert?into?PRODUCTS?values?(1601,?'LAMAZE',?'TOYS'); ??
  12. ????insert?into?PRODUCTS?values?(1666,?'HARRY?POTTER',?'DVD'); ??
  13. ????c