知识大全 oracle中利用merge语句防止重复插入

Posted 语句

篇首语:如果不想在世界上虚度一生,那就要学习一辈子。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 oracle中利用merge语句防止重复插入相关的知识,希望对你有一定的参考价值。

  由于项目中需要用到批量插入 为了防止用户插入重复的数据 需要先判断插入的数据是不是已经存在 如果存在则忽略这次插入 否则插入这条数据 刚开始的时候是先用一条SQL语句判断 如果返回结果是真(记录已经存在) 则忽略 否则插入这条数据 这样的话插入一条数据就要发起两个到数据库的连接 后来发现这样做效率实在太低了 Google了一下 发现oracle数据库支持merge语句 做了个测试 成功了 记录下来供本人及同行以后查阅之用

  数据库 TEST

   CREATE TABLE TEST(

        ID      NUMBER NOT NULL

        NAME    VARCHAR ( ) NOT NULL

        SEX     VARCHAR ( ) DEFAULT 男

   )

  插入两条数据

   INSERT INTO TEST VALUES( SUNZHENXING 男 )

   INSERT INTO TEST VALUES( SUNHAILONG 女 )

  MERGE语句

   MERGE INTO TEST A USING TEST B

   ON (A NAME=B NAME)

   WHEN MATCHED THEN

   UPDATE SET A SEX= 女 WHERE A NAME= SUNZHENXING

   WHEN NOT MATCHED THEN

   INSERT VALUES ( SUNZHENXING 女 )

cha138/Article/program/Oracle/201311/18365

相关参考