亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle中多表關聯批量插入批量更新與批量刪除操作

2020-07-26 13:26:17
字體:
來源:轉載
供稿:網友

該文章會分為三部分

1.多表關聯批量插入

2.多表關聯批量更新

3.多表關聯批量刪除

首先要明白一點,為什么會有批量這一個概念,無非就是數據太多了,在java端把數據查出來然后在按照100-300的批次進行更新太耗性能了,而且寫出來的代碼會非常的臃腫,所謂好的實現是用最少的,最精簡的代碼實現需求,代碼越少,留給自己犯錯誤的機會更少。

還有一個知識點就是多表關聯,對于查詢肯定是可以多表關聯的,其實對于除了查詢之外也是可以進行多表關聯過濾數據的,從而達到在Oracle中查到目標數據即可更新,從而規避規避以往需要單獨查一次數據然后在按照100-300的批次做插入,更新,刪除的操作 。

創建必須的表和序列語句:

--創建部門表 dept:CREATE TABLE dept( deptno NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, dname VARCHAR2(14) , loc VARCHAR2(13) ,  CREATEDTIME DATE,  UPDATEDTIME DATE,  CREATEDBY NUMBER(7,0),  UPDATEDBY NUMBER(7,0)) ;--創建員工表 emp:CREATE TABLE emp(  empno NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,  ename VARCHAR2(10),  job VARCHAR2(15),  mgr NUMBER(4),  hiredate DATE,  sal NUMBER(7,2),  comm NUMBER(7,2),  deptno NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT,   CREATEDTIME DATE,   UPDATEDTIME DATE,   CREATEDBY NUMBER(7,0),   UPDATEDBY NUMBER(7,0));--創建員工表 emp_copy:CREATE TABLE emp_copy(  empno NUMBER(4),  ename VARCHAR2(10),  job VARCHAR2(15),  mgr NUMBER(4),  hiredate DATE,  sal NUMBER(7,2),  comm NUMBER(7,2),  deptno NUMBER(2),   CREATEDTIME DATE,   UPDATEDTIME DATE,   CREATEDBY NUMBER(7,0),   UPDATEDBY NUMBER(7,0) );--自定義一個序列  create sequence emp_sequence    increment by 1 --每次增加幾個,我這里是每次增加1     start with 1  --從1開始計數     nomaxvalue   --不設置最大值     nocycle     --一直累加,不循環     nocache    --不建緩沖區 --插入dept表數據:INSERT INTO dept VALUES(10,'ACCOUNTING','NEW YORK',sysdate,sysdate,123123,123123);INSERT INTO dept VALUES (20,'RESEARCH','DALLAS',sysdate,sysdate,123123,123123);INSERT INTO dept VALUES(30,'SALES','CHICAGO',SYSDATE,SYSDATE,123123,123123);INSERT INTO dept VALUES(40,'OPERATIONS','BOSTON',sysdate,sysdate,123123,123123);--插入emp表數據:INSERT INTO emp VALUES(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20,sysdate,sysdate,123123,123123);INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30,sysdate,sysdate,123123,123123);INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30,SYSDATE,SYSDATE,123123,123123);INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20,sysdate,sysdate,123123,123123);INSERT INTO emp VALUES(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30,SYSDATE,SYSDATE,123123,123123);INSERT INTO emp VALUES(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30,sysdate,sysdate,123123,123123);INSERT INTO emp VALUES(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10,SYSDATE,SYSDATE,123123,123123);INSERT INTO emp VALUES(7788,'SCOTT','ANALYST',7566,to_date('19-4-87','dd-mm-yyyy'),3000,NULL,20,SYSDATE,SYSDATE,123123,123123);INSERT INTO emp VALUES(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10,sysdate,sysdate,123123,123123);INSERT INTO emp VALUES(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30,SYSDATE,SYSDATE,123123,123123);INSERT INTO emp VALUES(7876,'ADAMS','CLERK',7788,to_date('23-5-87','dd-mm-yyyy'),1100,NULL,20,sysdate,sysdate,123123,123123);INSERT INTO emp VALUES(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30,sysdate,sysdate,123123,123123);INSERT INTO emp VALUES(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20,SYSDATE,SYSDATE,123123,123123);INSERT INTO emp VALUES(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10,sysdate,sysdate,123123,123123);

插入數據之后的dept表:

在這里插入圖片描述

插入數據之后的emp表:

在這里插入圖片描述

1.多表關聯批量插入

要求:批量復制部門dept表 loc在 CHICAGO的,且工資大于1600的人員信息到emp_copy表,emp_copy的empno需要使用序列emp_sequence

INSERT INTO emp_copySELECT emp_sequence.nextVal,C.* FROM (  SELECT   e.ename ,  e.JOB ,  e.mgr ,  e.hiredate,  e.sal ,  e.comm ,  e.deptno,  SYSDATE AS CREATEDTIME,  SYSDATE AS UPDATEDTIME,  123124 AS CREATEDBY,  123124 as UPDATEDBY  FROM emp e, dept d  WHERE e.deptno = d.deptno  AND d.loc='CHICAGO'  and e.sal>=1500  )C;

插入之后的emp_copy表結果:

在這里插入圖片描述

其中SELECT emp_sequence.nextVal,C.* 這種格式保證了C.*的多條數據都能取到不同的序列值

2.多表關聯批量更新

要求:批量更新部門dept表 loc在 CHICAGO的,且職位job為'SALESMAN'的員工,comm在原來基礎上加200

操作之前的數據:

在這里插入圖片描述

MERGE INTO emp e USING  (  SELECT e1.job, e1.ename,e1.comm FROM emp e1, dept d1  WHERE e1.deptno = d1.deptno  AND d1.loc='CHICAGO'  and e1.job='SALESMAN' )t  ON (  e.job = t.job and e.ename = t.ename ) WHEN MATCHED THEN  UPDATE    set e.comm= t.comm+200

操作之后的數據:

在這里插入圖片描述

其中e.job = t.job and e.ename = t.ename只是展示可以關聯多個條件,這里有一個關鍵點為 USING ( … ) t 中查詢到的是一個list,而merge可以對匹配到的list進行批量更新

3.多表關聯批量刪除

要求:批量刪除部門dept表 loc在 CHICAGO的,且工資小于1500的人員信息

操作之前的數據:

在這里插入圖片描述

DELETE FROM( SELECT c.* FROM emp c,dept d WHERE d.deptno = c.deptno AND d.loc = 'CHICAGO' and c.sal < 1500);

操作之后的數據:

在這里插入圖片描述

總結

以上所述是小編給大家介紹的Oracle中多表關聯批量插入批量更新與批量刪除操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产在线98福利播放视频| 91视频九色网站| 久久久精品一区二区三区| 欧美网站在线观看| 亚洲美女久久久| 亚洲欧洲视频在线| 在线视频日韩精品| 亚洲国产欧美久久| 日韩精品在线免费观看视频| 日韩美女主播视频| 国产精品福利在线观看网址| 国产精品美腿一区在线看| 欧美日韩国产黄| 成人淫片在线看| 中文字幕日韩欧美在线视频| 欧美精品久久久久久久久久| 成人一区二区电影| 亚洲日本中文字幕| 九九视频直播综合网| 精品日本高清在线播放| 欧美日韩国产中字| 精品亚洲永久免费精品| 热草久综合在线| 日本欧美国产在线| 国产a级全部精品| 国内精品模特av私拍在线观看| 国产精品ⅴa在线观看h| 亚洲国产成人在线视频| 国自在线精品视频| 性欧美xxxx交| 亚洲摸下面视频| 中文字幕精品影院| 亚洲高清在线观看| 国产91精品久久久久久久| 国产精自产拍久久久久久蜜| 国产男女猛烈无遮挡91| 伊人av综合网| 九九久久久久久久久激情| 久久免费精品日本久久中文字幕| 粗暴蹂躏中文一区二区三区| 久久精品中文字幕一区| 色噜噜狠狠色综合网图区| 久久亚洲精品国产亚洲老地址| 欧美不卡视频一区发布| 久久男人av资源网站| 成人久久一区二区三区| 最近2019中文字幕大全第二页| 久久精彩免费视频| 国产女人18毛片水18精品| 欧美电影免费观看网站| 97视频在线观看免费高清完整版在线观看| 69久久夜色精品国产69乱青草| 欧美精品www在线观看| 国产精品一区二区久久精品| 日韩av日韩在线观看| 4438全国亚洲精品在线观看视频| 国产精品视频99| 精品成人国产在线观看男人呻吟| 久久人人爽人人| 欧美视频中文字幕在线| 九九久久久久久久久激情| 亚洲天堂网在线观看| 国产丝袜高跟一区| 中文字幕欧美日韩在线| 国产精品久久久久久久av大片| 久久人人爽人人爽人人片av高清| 国产69久久精品成人| 亚洲天堂男人天堂女人天堂| 日韩精品极品在线观看| 亚洲一区二区三区乱码aⅴ| 色妞色视频一区二区三区四区| 中文字幕欧美日韩精品| 日韩成人高清在线| 成人黄色av免费在线观看| 国产精品亚洲一区二区三区| 91丝袜美腿美女视频网站| 亚洲精品久久久久国产| 中文字幕久久亚洲| 国内精品久久久久影院优| 成人午夜激情网| 自拍偷拍亚洲在线| 欧美视频专区一二在线观看| 国产亚洲精品一区二555| 国产精品亚洲视频在线观看| 久久久久亚洲精品成人网小说| 国产视频一区在线| 亚洲色无码播放| 欧美视频二区36p| 国产精品久久9| 亚洲精品国产精品国自产观看浪潮| 日韩风俗一区 二区| 欧美小视频在线| 欧美性xxxx极品hd满灌| 日韩av最新在线| 性亚洲最疯狂xxxx高清| 色婷婷综合久久久久| 在线电影欧美日韩一区二区私密| 丝袜美腿亚洲一区二区| 亚洲老头老太hd| 日韩视频在线免费| 日韩精品亚洲元码| 亚洲自拍高清视频网站| 国产精品视频免费在线| 日本电影亚洲天堂| 久久影院资源站| 欧美日韩国产二区| 日韩福利视频在线观看| 91天堂在线视频| 国产欧美一区二区三区视频| 久久久精品久久久久| 久久久成人精品| 欧美性xxxx| 欧美一级电影免费在线观看| 狠狠躁夜夜躁人人爽天天天天97| 久久伊人精品一区二区三区| 97色伦亚洲国产| 国产精品毛片a∨一区二区三区|国| 日韩成人av一区| 亚洲第一av网站| 亚洲成人免费网站| 欧美在线视频导航| 久久精品国产v日韩v亚洲| 亚洲嫩模很污视频| 亚洲区bt下载| 亚洲成人av中文字幕| 韩国精品久久久999| 欧美小视频在线观看| 亚洲最大成人免费视频| 色婷婷av一区二区三区久久| 日韩欧美国产视频| 久久这里只有精品视频首页| 日韩欧美在线视频| 午夜精品久久久久久久男人的天堂| 亚洲aⅴ日韩av电影在线观看| 久操成人在线视频| 欧美性在线视频| 成人性生交xxxxx网站| 2020国产精品视频| 日本精品久久中文字幕佐佐木| 国产精品91久久久久久| 亚洲免费精彩视频| 亚洲网在线观看| 久久97久久97精品免视看| 精品久久久久久| 欧美激情亚洲国产| 亚洲欧美综合精品久久成人| 国产99久久精品一区二区永久免费| 成人黄色大片在线免费观看| 日本电影亚洲天堂| 亚洲一区制服诱惑| 68精品久久久久久欧美| 日韩在线视频网站| 久久成人亚洲精品| 欧美寡妇偷汉性猛交| 日本久久久久久久久久久| 日韩成人高清在线| 成人福利网站在线观看| 国产精品影片在线观看| 国产精品久久久久久亚洲影视| 色阁综合伊人av| 亚洲综合第一页| 久久精品99国产精品酒店日本| 久久欧美在线电影| 国产精品美女呻吟|