MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。其语法为:merge into t1 using ton (conditon)when matched then update set ...when not matched then insert (...) values(...);使用这个语句需要注意两个地方:1、根据条件连接时,当有多对一的情况出现时会出现如下错误:ORA-30926: 无法在源表中获得一组稳定的行2、当更新用于连接的列的时候,会出现如下错误:ORA-00904: "A"."ID": 无效的标识符这个错误误导人,事实上可以看作oracle 的一个bug。详细信息,可以参考http://hqj0215.cnblogs.com/http://blog.itpub.net/post/468/14844http://xsb.itpub.net/post/419/30766