oracle里通过merge语句判断重复插入方法是什么呢?
oracle里通过merge语句判断重复插入方法是什么呢?
由于项目中需要用到批量插入,为了防止用户插入重复的数据,需要先判断插入的数据是不是已经存在,如果存在则忽略这次插入,否则插入这条数据,刚开始的时候是先用一条SQL语句判断,如果返回结果是真(记录已经存在),则忽略,否则插入这条数据,这样的话插入一条数据就要发起两个到数据库的连接,后来发现这样做效率实在太低了,Google了一下,发现oracle数据库支持merge语句,做了个测试,成功了,记录下来供本人及同行以后查阅之用。
数据库:TEST 1 CREATE TABLE TEST( 2 ID NUMBER NOT NULL, 3 NAME VARCHAR2(30) NOT NULL, 4 SEX VARCHAR2 (2) DEFAULT '男' 5 ) 插入两条数据: 1 INSERT INTO TEST VALUES(1,'SUNZHENXING','男') 2 INSERT INTO TEST VALUES(2,'SUNHAILONG','女') MERGE语句: 1 MERGE INTO TEST A USING TEST B 2 ON (A。
NAME=B。NAME) 3 WHEN MATCHED THEN 4 UPDATE SET A。SEX='女'WHERE A。NAME='SUNZHENXING' 5 WHEN NOT MATCHED THEN 6 INSERT VALUES (3,'SUNZHENXING','女') 需要注意的是:MERGE语句中的UPDATE语句和INSERT语句和一般的SQL语句格式有点不同 考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。
其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。
答:动机: 想在Oracle中用一条SQL语句直接进行Insert/Update的操作。 说明: 在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/...详情>>
问:同事ip:10.101.107.28 我的IP:10.101.104.23我们在...
答:你们公司是WINDOWS域环境吗,如果是的话,你在网上邻居里应该能看到对方的主机。让她把文件夹共享出来就可以。 如果不是WINDOWS域,那得看你们是不是在一个...详情>>
问:数据结构顺序表的建立,可定义顺序表 #define maxnum elemtyp...
答:打开VC ,然后点击新建,出来界面之后选择Win32 Console Application并输入工程的名称和选择项目的位置,然后出现“一个空工程”,在点击“...详情>>