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

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

oracle中merge into用法及實(shí)例解析

2024-08-29 14:01:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

merge into的形式:

MERGE INTO [target-table] A USING [source-table sql] B ON([conditional expression] and [...]...) WHEN MATCHED THEN   [UPDATE sql] WHEN NOT MATCHED THEN   [INSERT sql] 

作用:判斷B表和A表是否滿足ON中條件,如果滿足則用B表去更新A表,如果不滿足,則將B表數(shù)據(jù)插入A表但是有很多可選項(xiàng),如下:

1.正常模式

2.只update或者只insert

3.帶條件的update或帶條件的insert

4.全插入insert實(shí)現(xiàn)

5.帶delete的update(覺(jué)得可以用3來(lái)實(shí)現(xiàn))

下面一一測(cè)試。

測(cè)試建以下表:

create table A_MERGE (  id  NUMBER not null,  name VARCHAR2(12) not null,  year NUMBER ); create table B_MERGE (  id  NUMBER not null,  aid NUMBER not null,  name VARCHAR2(12) not null,  year NUMBER,  city VARCHAR2(12) ); create table C_MERGE (  id  NUMBER not null,  name VARCHAR2(12) not null,  city VARCHAR2(12) not null ); commit; 

其表結(jié)構(gòu)截圖如下圖所示:

A_MERGE表結(jié)構(gòu):

oracle,merge,into

B_MERGE表結(jié)構(gòu)

oracle,merge,into

C_MERGE表結(jié)構(gòu)

oracle,merge,into

1.正常模式

先向A_MERGE和B_MERGE插入測(cè)試數(shù)據(jù):

insert into A_MERGE values(1,'liuwei',20); insert into A_MERGE values(2,'zhangbin',21); insert into A_MERGE values(3,'fuguo',20); commit;  insert into B_MERGE values(1,2,'zhangbin',30,'吉林'); insert into B_MERGE values(2,4,'yihe',33,'黑龍江'); insert into B_MERGE values(3,3,'fuguo',,'山東'); commit; 

此時(shí)A_MERGE和B_MERGE表中數(shù)據(jù)截圖如下:

A_MERGE表數(shù)據(jù):

oracle,merge,into

B_MERGE表數(shù)據(jù):

oracle,merge,into

然后再使用merge into用B_MERGE來(lái)更新A_MERGE中的數(shù)據(jù):

MERGE INTO A_MERGE A USING (select B.AID,B.NAME,B.YEAR from B_MERGE B) C ON (A.id=C.AID) WHEN MATCHED THEN  UPDATE SET A.YEAR=C.YEAR  WHEN NOT MATCHED THEN  INSERT(A.ID,A.NAME,A.YEAR) VALUES(C.AID,C.NAME,C.YEAR); commit; 

此時(shí)A_MERGE中的表數(shù)據(jù)截圖如下:

oracle,merge,into

2.只update模式

首先向B_MERGE中插入兩個(gè)數(shù)據(jù),來(lái)為了體現(xiàn)出只update沒(méi)有insert,必須有一個(gè)數(shù)據(jù)是A中已經(jīng)存在的

另一個(gè)數(shù)據(jù)時(shí)A中不存在的,插入數(shù)據(jù)語(yǔ)句如下:

insert into B_MERGE values(4,1,'liuwei',80,'江西'); insert into B_MERGE values(5,5,'tiantian',23,'河南'); commit; 

此時(shí)A_MERGE和B_MERGE表數(shù)據(jù)截圖如下:

A_MERGE表數(shù)據(jù)截圖:

oracle,merge,into

B_MERGE表數(shù)據(jù)截圖:

oracle,merge,into

然后再次用B_MERGE來(lái)更新A_MERGE,但是僅僅update,沒(méi)有寫(xiě)insert部分。

merge into A_MERGE A USING (select B.AID,B.NAME,B.YEAR from B_MERGE B) C ON(A.ID=C.AID) WHEN MATCHED THEN  UPDATE SET A.YEAR=C.YEAR;   commit; 

merge完之后A_MERGE表數(shù)據(jù)截圖如下:可以發(fā)現(xiàn)僅僅更新了AID=1的年齡,沒(méi)有插入AID=4的數(shù)據(jù)

oracle,merge,into

3.只insert模式

首先改變B_MERGE中的一個(gè)數(shù)據(jù),因?yàn)樯洗螠y(cè)試update時(shí)新增的數(shù)據(jù)沒(méi)有插入到A_MERGE,這次可以用。

update B_MERGE set year=70 where AID=2; commit; 

此時(shí)A_MERGE和B_MERGE的表數(shù)據(jù)截圖如下:

A_MERGE表數(shù)據(jù):

oracle,merge,into

B_MERGE表數(shù)據(jù):

oracle,merge,into

然后用B_MERGE來(lái)更新A_MERGE中的數(shù)據(jù),此時(shí)只寫(xiě)了insert,沒(méi)有寫(xiě)update:

merge into A_MERGE A USING (select B.AID,B.NAME,B.YEAR from B_MERGE B) C ON(A.ID=C.AID) WHEN NOT MATCHED THEN   insert(A.ID,A.NAME,A.YEAR) VALUES(C.AID,C.NAME,C.YEAR); commit; 

此時(shí)A_MERGE的表數(shù)據(jù)截圖如下:

oracle,merge,into

4.帶where條件的insert和update。

我們?cè)趏n中進(jìn)行完條件匹配之后,還可以在后面的insert和update中對(duì)on篩選出來(lái)的記錄再做一次條件判斷,用來(lái)控制哪些要更新,哪些要插入。

測(cè)試數(shù)據(jù)的sql代碼如下,我們?cè)贐_MERGE修改了兩個(gè)人名,并且增加了兩個(gè)人員信息,但是他們來(lái)自的省份不同,

所以我們可以通過(guò)添加省份條件來(lái)控制哪些能修改,哪些能插入:

update B_MERGE set name='yihe++' where id=2; update B_MERGE set name='liuwei++' where id=4; insert into B_MERGE values(6,6,'ningqin',23,'江西'); insert into B_MERGE values(7,7,'bing',24,'吉安'); commit; 

A_MGERGE表數(shù)據(jù)截圖如下:

oracle,merge,into

B_MERGE表數(shù)據(jù):

oracle,merge,into

然后再用B_MERGE去更新A_MERGE,但是分別在insert和update后面添加了條件限制,控制數(shù)據(jù)的更新和插入:

merge into A_MERGE A USING (select B.AID,B.name,B.year,B.city from B_MERGE B) C  ON(A.id=C.AID)  when matched then  update SET A.name=C.name where C.city != '江西' when not matched then  insert(A.ID,A.name,A.year) values(c.AID,C.name,C.year) where C.city='江西'; commit; 

此時(shí)A_MERGE截圖如下:

oracle,merge,into

5.無(wú)條件的insert。

有時(shí)我們需要將一張表中所有的數(shù)據(jù)插入到另外一張表,此時(shí)就可以添加常量過(guò)濾謂詞來(lái)實(shí)現(xiàn),讓其只滿足匹配和不匹配,這樣就只有update或者只有insert。這里我們要無(wú)條件全插入,則只需將on中條件設(shè)置為永假即可。用B_MERGE來(lái)更新C_MERGE代碼如下:

merge into C_MERGE C USING (select B.AID,B.NAME,B.City from B_MERGE B) C ON (1=0) when not matched then  insert(C.ID,C.NAME,C.City) values(B.AID,B.NAME,B.City); commit; 

C_MERGE表在merge之前的數(shù)據(jù)截圖如下:

oracle,merge,into

B_MERGE數(shù)據(jù)截圖如下:

oracle,merge,into

C_MERGE表在merge之后數(shù)據(jù)截圖如下:

oracle,merge,into

6.帶delete的update

MERGE提供了在執(zhí)行數(shù)據(jù)操作時(shí)清除行的選項(xiàng). 你能夠在WHEN MATCHED THEN UPDATE子句中包含DELETE子句. 
DELETE子句必須有一個(gè)WHERE條件來(lái)刪除匹配某些條件的行.匹配DELETE WHERE條件但不匹配ON條件的行不會(huì)被從表中刪除.

但我覺(jué)得這個(gè)帶where條件的update差不多,都是控制update,完全可以用帶where條件的update來(lái)實(shí)現(xiàn)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到oracle教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
亚洲国产精品小视频| 国产欧美在线| 国产精品综合在线视频| 99re5久久在热线播放| 亚洲欧美在线磁力| 亚洲自拍另类| 成人免费淫片aa视频免费| 99精品视频免费看| 欧美一区二区三区免费视频| 精品国产成人av在线免| 日韩成人免费视频| 超碰在线人人爱| 午夜精品一二三区| 日韩欧美你懂的| 亚洲一区二区三区成人在线视频精品| 三级精品在线观看| 99re久久最新地址获取| 91久久夜色精品国产网站| 在线www天堂网在线| 蜜臀久久99精品久久久久宅男| 欧美成人在线免费观看| 欧美另类bbbxxxxx另类| 亚洲乱码视频| 日韩亚洲欧美在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文| 在线观看免费播放网址成人| 精品人妻午夜一区二区三区四区| 国产麻豆一区二区三区精品| 久久久久亚洲av无码专区| 国产欧美日韩在线看| 亚洲色大成网站www| 99精品全国免费观看视频软件| 成人免费视频久久| 亚洲精品一区二区久| 欧美日韩伦理片| 四虎成人精品| 又黄又www的网站| 国产精品一区二区三区久久久| 国产成人一区在线| 午夜亚洲激情| 99久久伊人精品影院| 黄色一级大片在线免费看国产一| 国产色综合一区| 99热这里只有精品7| 在线观看91久久久久久| 四虎a级欧美在线观看| 国产一区二区三区四区五区美女| 色婷婷激情一区二区三区| 免费看岛国视频在线观看| 自拍偷自拍亚洲精品被多人伦好爽| 久久一本精品| 97色伦图片97综合影院| 疯狂欧洲av久久成人av电影| 欧美亚一区二区| 色综合成人av| 天堂中文在线资| 国产中文字幕在线看| 亚洲精品女人| 91av在线免费| 一二三四视频在线中文| 先锋影音一区二区| 中文字幕av一区二区三区佐山爱| 中文字幕av亚洲精品一部二部| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 国产婷婷视频在线| 亚洲国产精品v| 亚洲成人免费在线观看| 国产成人精品视频| 欧美高清另类hdvideosexjaⅴ| 亚洲字幕久久| 校园春色欧美| 欧美一区二区三区网站| 日韩写真欧美这视频| 欧美一级淫片007| 色婷婷国产精品久久包臀| 蜜桃一区二区三区| 亚州欧美色图| 日韩高清不卡一区二区三区| 天天操人人爽| 黄色一级大片在线观看| 久久精品视频播放| 久久久久亚洲av片无码v| 国产精品无码一区| 国产精品理论片| 成人在线黄色电影| 国产精品日韩在线一区| 国产情侣小视频| 亚洲欧洲精品一区二区三区波多野1战4| 中文字幕av高清| 欧美在线视频精品| 国产伦视频一区二区三区| 天天性天天草| 九九热精品视频在线播放| 国产真实乱偷精品视频| 欧美v亚洲v| 国产丝袜在线视频| 成人在线视频国产| 欧美日韩精品电影| 韩国毛片一区二区三区| 日日干日日操| 免费在线黄色电影| 成年男女免费视频网站不卡| 久久久国产午夜精品| 欧美色网站导航| 欧美精品中文| 日韩wuma| 亚洲第一页中文字幕| 视频一区二区三区入口| 麻豆tv在线观看| 69av一区二区三区| 精精国产xxxx视频在线野外| 国内视频在线精品| 国产毛片毛片毛片毛片毛片| 久久久久狠狠高潮亚洲精品| 国产高潮免费视频| 成人黄色网页| 国产女主播福利| 围产精品久久久久久久| 国产伦精品一区二区三区精品| 国产一区在线观看视频| 亚洲图片中文字幕| 国产精品伦理一区二区| 久久99精品久久久久久噜噜| 一区二区三区少妇| 久久精品理论片| 懂色av一区二区在线播放| 亚州黄色一级| 欧美另类z0zx974| 亚洲香蕉伊综合在人在线视看| 欧美无砖专区免费| 日本一二三四高清不卡| 日韩午夜激情| 国产富婆一级全黄大片| 精品午夜一区二区| 日韩一级大片在线观看| 精品国产乱码久久久久久天美| 久久人人爽爽爽人久久久| 国产亚洲综合精品| 国产黄大片在线观看| 在线午夜精品| 色综合视频一区二区三区高清| 深夜福利网址| 精品一区二区三区蜜桃| 免费大片在线观看www| 999精品网站| 国产一区二区三区精品久久久| 麻豆蜜桃在线观看| 国产wwwwxxxx| 国产男女猛烈无遮挡91| 欧美日韩国产综合视频在线观看中文| www天堂网| 91av在线影院| 欧洲午夜精品| 色偷偷久久一区二区三区| 人人网欧美视频| 日韩黄色av| 天堂久久一区二区三区| 欧美高清影院| 999成人精品视频线3| **性色生活片久久毛片| 高潮精品一区videoshd| 欧美中文字幕一区二区三区亚洲| 中文av一区二区三区| 久久久av一区| 亚洲成人原创| 午夜精品福利一区二区| 久久久婷婷一区二区三区不卡| 国产视频中文字幕在线观看| 国产十八熟妇av成人一区| 国产精品久久久久久久久久久久久久久久| 亚洲a v网站| 一级黄色电影片| 黑鬼大战白妞高潮喷白浆| 亚洲人成电影网站色mp4| 蜜臀一区二区三区精品免费视频| 成人福利电影精品一区二区在线观看| 伊人春色之综合网| 在线观看免费视频黄| 日本三级午夜理伦三级三| 精品一卡二卡三卡四卡日本乱码| 欧美日韩一二三| 国产一级特黄a高潮片| 国产激情无码一区二区三区| 青青精品视频播放| 亚洲欧美影院| 亚洲一区二区三区网站| 中文字幕av免费专区久久| 色婷婷久久99综合精品jk白丝| 成人免费视频网站入口| 区日韩二区欧美三区| 国产精品视频第一区二区三区| 精品av综合导航| 久久影视免费观看| www.久久久久久久久久| 精品中文字幕人| 亚洲国产一区二区三区四区| 精品久久国产一区| 僵尸再翻生在线观看| 美女日韩在线中文字幕| 亚洲在线观看视频网站| 538精品视频| 成年美女黄网站色大片不卡| 一本色道婷婷久久欧美| 蜜芽视频在线观看| yw视频在线观看| 久久精品夜夜夜夜夜久久| 自拍偷拍 国产| 中文字幕亚洲在线观看| 亚洲一区在线| 一区二区三区日本久久久| 精品久久美女| 加勒比海盗1在线观看免费国语版| 成人免费一区| 中文字幕无线码一区| 国产一级特黄aaa大片| 亚洲精品久久久久久久久久久久久久| 色综合久久久久综合99| 欧美三级视频在线观看| 国产精品自在自线| 亚洲中文字幕久久精品无码喷水| 中文字幕在线视频一区二区| 在线观看精品一区二区三区| 免费亚洲精品视频| 国内精彩免费自拍视频在线观看网址| 一级日本不卡的影视| 久久婷婷五月综合色丁香| 成人免费视频在线观看| 在线观看亚洲一区| 欧美日韩dvd| 色多多国产成人永久免费网站| 黑人と日本人の交わりビデオ| 色婷婷av一区二区三区久久| 日韩xxxx视频| 神马一区二区三区| 色婷婷久久一区二区三区麻豆| 成人资源在线播放| 成人激情综合网站| 日本理论片午伦夜理片在线观看| 免费国产羞羞网站视频| 国产一二三区精品| 国产免费一区二区三区香蕉精| 亚洲精品久久久久久宅男| 2019中文字幕视频| 欧美va在线| 欧美最近摘花xxxx摘花| 嫩草影院入口一二三免费| 亚洲第一级黄色片| 欧美人善交videosg| 日韩精品成人在线| 久久综合999| 亚洲免费不卡视频| h在线观看视频免费网站| 日本电影中文字幕| 亚洲天堂网2018| 久久免费精品日本久久中文字幕| 一区二区在线高清视频| 久久99高清| 领导边摸边吃奶边做爽在线观看| 亚洲av无码乱码国产精品| 亚洲一区视频在线观看视频| 东京热无码av男人的天堂| 天天影视色香欲综合| 欧美性xxxxhd| 国产精品亲子伦av一区二区三区| 爱爱免费视频网站| 伊人久久久久久久久久久久| 亚洲天堂av影院| 污网站免费在线观看| 香蕉伊大人中文在线观看| 亚洲综合社区网| 一本一道波多野毛片中文在线| 香蕉视频国产在线观看| 亚洲精品福利在线| 韩国三级电影在线观看婷婷| 午夜影院免费看| 中文字幕一区二区5566日韩| 国产网站在线免费观看| 亚洲乱码国产乱码精品精| 国产免费一区二区三区四区五区| 91久久久久国产一区二区| 黄色片子免费看| 影音先锋中文一区| 国产一区二区三区四区尤物| 亚洲青涩在线| 美女羞羞视频在线观看| 国产亚洲精品熟女国产成人| 在线观看免费成人av| 美女免费观看一区二区三区| 麻豆传媒视频在线观看免费| 黄色日韩网站视频| 91在线观看免费高清| 男人j进女人j| 午夜精品久久久久久久男人的天堂| 91最新国产视频| 在线播放你懂得| www久久久| 天天操天天干天天操天天干| 麻豆精品密在线观看| 老汉色老汉首页av亚洲| 中文在线资源新版官网| 国产精品一区二区三区在线免费观看| www.com在线观看| 亚洲一区二区在线免费观看视频| 欧美老人xxxx18| 欧美日产国产成人免费图片| 亚洲日本视频在线观看| 麻豆亚洲av熟女国产一区二| 激情综合五月婷婷| 性做久久久久久免费观看欧美| 久久av少妇| 久久国产乱子伦精品| 国产成+人+综合+亚洲欧洲| 国产区一区二区| 精品国产乱码久久久久久果冻传媒| 中文字幕在线永久| 日韩欧美在线视频一区二区| 欧美一区二区黄| 亚洲无人区码一码二码三码的含义| 性一交一乱一色一免费无遮挡| www.黄色在线| 国产又粗又黄又爽的视频| 日韩亚洲色图| 久久大大胆人体| 一区二区三区视频在线免费观看| 亚洲av无码乱码国产精品| 337p日本欧洲亚洲大胆张筱雨| 三上亚洲一区二区| 成人性视频免费网站|