Welcome 微信登录

首页 / 数据库 / MySQL / Oracle中merge用法

MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。 通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。语法MERGE [INTO [schema .] table [t_alias] USING [schema .] { table | view | subquery } [t_alias] ON ( condition ) WHEN MATCHED THEN merge_update_clause WHEN NOT MATCHED THEN merge_insert_clause;1、UPDATE或INSERT子句是可选的 2、UPDATE和INSERT子句可以加WHERE子句 3、在ON条件中使用常量过滤谓词来insert所有的行到目标表中,不需要连接源表和目标表 4、UPDATE子句后面可以跟DELETE子句来去除一些不需要的行 首先创建示例表: create table PRODUCTS       (       PRODUCT_ID INTEGER,       PRODUCT_NAME VARCHAR2(60),       CATEGORY VARCHAR2(60)       );        insert into PRODUCTS values (1501, "VIVITAR 35MM", "ELECTRNCS");       insert into PRODUCTS values (1502, "OLYMPUS IS50", "ELECTRNCS");       insert into PRODUCTS values (1600, "PLAY GYM", "TOYS");       insert into PRODUCTS values (1601, "LAMAZE", "TOYS");       insert into PRODUCTS values (1666, "HARRY POTTER", "DVD");       commit;        create table NEWPRODUCTS       (       PRODUCT_ID INTEGER,       PRODUCT_NAME VARCHAR2(60),       CATEGORY VARCHAR2(60)       );        insert into NEWPRODUCTS values (1502, "OLYMPUS CAMERA", "ELECTRNCS");       insert into NEWPRODUCTS values (1601, "LAMAZE", "TOYS");       insert into NEWPRODUCTS values (1666, "HARRY POTTER", "TOYS");       insert into NEWPRODUCTS values (1700, "WAIT INTERFACE", "BOOKS");       commit;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 下一页
Oracle 报错解释大全用PLSQL创建Oracle用户相关资讯      Oracle存储过程 
  • Oracle存储过程拼接in语句 & 自定  (今 09:21)
  • 【PL/SQL系列】Oracle存储过程使用  (04月23日)
  • Oracle存储过程及Java调用  (05/28/2015 20:29:33)
  • Java调用Oracle存储过程返回多条结  (04月29日)
  • Oracle中的存储过程简单应用  (04月10日)
  • 判断点是否落在面中的Oracle存储过  (05/09/2015 09:39:30)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权