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

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

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

2024-08-29 14:01:01
字體:
供稿:網(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(覺得可以用3來實(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來更新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ù),來為了體現(xiàn)出只update沒有insert,必須有一個(gè)數(shù)據(jù)是A中已經(jīng)存在的

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

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來更新A_MERGE,但是僅僅update,沒有寫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的年齡,沒有插入AID=4的數(shù)據(jù)

oracle,merge,into

3.只insert模式

首先改變B_MERGE中的一個(gè)數(shù)據(jù),因?yàn)樯洗螠y(cè)試update時(shí)新增的數(shù)據(jù)沒有插入到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來更新A_MERGE中的數(shù)據(jù),此時(shí)只寫了insert,沒有寫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篩選出來的記錄再做一次條件判斷,用來控制哪些要更新,哪些要插入。

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

所以我們可以通過添加省份條件來控制哪些能修改,哪些能插入:

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.無條件的insert。

有時(shí)我們需要將一張表中所有的數(shù)據(jù)插入到另外一張表,此時(shí)就可以添加常量過濾謂詞來實(shí)現(xiàn),讓其只滿足匹配和不匹配,這樣就只有update或者只有insert。這里我們要無條件全插入,則只需將on中條件設(shè)置為永假即可。用B_MERGE來更新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條件來刪除匹配某些條件的行.匹配DELETE WHERE條件但不匹配ON條件的行不會(huì)被從表中刪除.

但我覺得這個(gè)帶where條件的update差不多,都是控制update,完全可以用帶where條件的update來實(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ā)表
亚洲xxxxxx| 丰满熟妇乱又伦| 免费人成短视频在线观看网站| 精品国产乱码久久久久久鸭王1| 99精品视频中文字幕| 色综合色狠狠天天综合色| 91在线精品秘密一区二区| 免费视频一区| 国产片乱18免费| 欧美激情在线| 日日夜夜天堂| 成人免费一区二区三区牛牛| 精品久久人妻av中文字幕| 视频免费在线看| 伊人久久亚洲综合| 亚洲一区二区三区免费看| 99精品国产99久久久久久白柏| 91麻豆精品国产91久久久久久久久| 亚洲国产精品麻豆| 国产成人综合av| 欧美日韩国内| 日本一区二区在线播放| 国产中文字幕日韩| 狠狠色噜噜狠狠狠狠97| 一二三四区精品视频| 久久久久久欧美精品se一二三四| 视频一区二区精品的福利| 国产寡妇色xxⅹ交肉视频| 欧美日韩国产美| 激情小说网站亚洲综合网| 欧美一卡二卡在线| 精品美女视频在线观看免费软件| 成人免费在线播放| 亚洲人成人一区二区三区| 高清性色生活片在线观看| 国产精品免费免费| 蜜臀av性久久久久蜜臀aⅴ| 中文字幕无码不卡免费视频| 99久久婷婷国产一区二区三区| 欧美一级片免费观看| 精品不卡视频| 久久夜色撩人精品| 超碰影院在线| 久久av老司机精品网站导航| eeuss影院www免费影院| 亚洲欧美日本在线观看| 91免费国产精品| 91亚洲成人| 欧美一二三四区在线| 欧美日韩高清在线播放| 午夜精品久久久久久久99樱桃| 久久狠狠一本精品综合网| 国产综合在线观看视频| 欧美另类videoxo高潮| 日韩视频欧美视频| 美女久久久久久久| jizz在线播放| 久久久噜噜噜久久中文字免| 国产欧美1区2区3区| 国产伦精品一区二区三区免费| 欧美一级淫片a免费视频| 色wwwwww| 一级毛片免费高清中文字幕久久网| av黄在线观看| 国产精品午夜剧场| 美女精品一区最新中文字幕一区二区三区| 99久久.com| 懂色一区二区三区| 91在线小视频| 亚洲热在线观看| 五月天婷亚洲天综合网精品偷| 日韩精品视频免费专区在线播放| 亚洲精品系列| 九九热免费在线观看| 噜噜爱69成人精品| 欧美黄色一级| 曰本人一级毛片免费完整视频| 久久精品亚洲一区二区| 99蜜桃在线观看免费视频网站| 午夜亚洲一区| 九色porny丨国产首页在线| 伊人影院在线视频| 欧美日韩二区三区| 日韩高清av| 欧美另类极品videosbestfree| 一区二区三区短视频| 亚洲精品高清视频| 国产伦理久久久| 黄色国产一级视频| 97国产精品视频| 亚洲国产精品一区二区尤物区| 国产精品三级久久久久三级| 色综合久久精品亚洲国产| 成人性生交大片免费看96| 欧美怡红院视频| av毛片免费看| 中文字幕一区二区人妻| h视频免费高清在线观看| 国产a视频精品免费观看| 国产日韩欧美亚洲| 成人动漫一区二区| 91在线视频导航| av小说在线播放| 国产69精品久久app免费版| 亚洲精品综合在线| 中文字幕一区二区三区在线乱码| 日韩一级片播放| 国产精品久久久久久久久久久久久久久久久久| 亚洲精品888| 波多野结衣高清视频| 欧美无乱码久久久免费午夜一区| 日韩视频在线观看视频| 国语精品免费视频| 欧美日韩中文字幕视频| 午夜精品福利在线观看| 性色国产成人久久久精品| 尤物av无码色av无码| 精品欧美一区二区在线观看| 操日韩av在线电影| 日韩成人免费视频| 欧美女同网站| 国产18无套直看片| 久久久99精品免费观看不卡| 欧美在线电影| 中文字幕国产精品久久| 成人永久看片免费视频天堂| 91精品丝袜国产高跟在线| 亚洲尤物影院| 国内毛片毛片毛片毛片毛片| 五月天婷婷色综合| 三年片免费观看大全| 丝袜亚洲另类欧美综合| 中文在线天堂网www| 国产 欧美 日韩 在线| 日本三级久久| 国产精品高潮呻吟久久av野狼| 国产精品无码人妻一区二区在线| 人妻熟女一二三区夜夜爱| a天堂中文字幕| 国产人成在线观看| 国产 欧美 日韩 在线| 国产999精品久久久| 福利一区和二区| 精品入口蜜桃| 欧美高清电影在线| 欧美精品videosex性欧美| 国产精品成人免费一区二区视频| 欧美日韩综合在线| 色偷偷网友自拍| 国产精品一品视频| 精品少妇一区二区三区免费观| 成人av小说网| 成人综合网址| 尤物yw午夜国产精品视频| 在线看黄色的网站| 女人喷潮完整视频| 91看片淫黄大片91| 97久久伊人激情网| 亚洲成人一区二区在线观看| 午夜精品www| 免费成人美女在线观看| 在线观看国产网站| 天堂中文字幕在线观看| 婷婷综合在线视频| av一区在线观看| 亚洲精品国产久| eeuss影院www免费看| 91香蕉视频网| 色青青草原桃花久久综合| 艳妇乳肉豪妇荡乳av无码福利| 北岛玲日韩精品一区二区三区| 欧美在线观看一二区| 欧美精品一区二区三区蜜臀| 欧美福利小视频| 亚洲大片在线观看| 国产精品激情av电影在线观看| 男女av一区三区二区色多| 欧美高清在线精品一区| 在线观看一区日韩| 亚洲第一综合| av免费在线播放| 大伊人狠狠躁夜夜躁av一区| 免费日本视频一区| 中文字幕日产av| 国产一区二区三区精品在线| 国产日韩一区在线| 制服.丝袜.亚洲.中文.综合懂| 亚洲第一视频在线播放| av在线之家电影网站| 午夜视频在线观看免费视频| 精品乱人伦一区二区三区| av电影在线观看一区| 亚洲高清在线一区| 国产精品一区免费观看| 午夜精品久久久久久久96蜜桃| 日本视频www色| 国产成人免费观看网站| 香蕉久久夜色精品| а√天堂8资源在线| 亚洲 国产 欧美一区| 成人性做爰aaa片免费看不忠| 999视频精品| 国内在线免费视频| 亚洲制服中文字幕| 性视频1819p久久| 老司机福利av| 你懂的在线免费观看| 久久精品免费播放| 精品视频在线观看| 红桃视频成人在线观看| 色总=综合色| 色哺乳xxxxhd奶水米仓惠香| 国产调教打屁股xxxx网站| 国产一区二区自拍| 色婷婷香蕉在线一区二区| 国产小视频在线播放| 国产乱码在线观看| 日本中文字幕伦在线观看| 在线免费电影观看| 欧美丝袜足交| 五月天国产在线| 久久久www成人免费精品| 丰满人妻一区二区三区四区53| 日韩一二三区不卡在线视频| 一本色道久久综合狠狠躁篇的优点| 免费看日本黄色| 深夜国产在线播放| 国产1区2区3区精品美女| 悠悠资源网久久精品| 国产浪潮av性色av小说| 人妻精品久久久久中文| 亚洲最大av| 成人免费电影网址| 洋洋av久久久久久久一区| 国产一区二区久久| 亚洲欧美一区二区原创| 国产三级视频网站| 国产99久久久精品| 国产精品—色呦呦| 91美女片黄在线观看91美女| 国产日韩欧美三级| 亚洲不卡在线播放| 欧美日韩一区二区三区视频播放| 久久一二三四| 91精品短视频| 一级黄色大片免费| videoxxxx另类日本极品| 亚洲国产专区| 女人和拘做爰正片视频| 强乱中文字幕av一区乱码| 在线不卡的av| 亚洲欧美综合精品久久成人| 国产精品久久精品视| 成人午夜电影在线播放| 久久av一区二区三| 日本丰满少妇裸体自慰| 国产一区二区三区蝌蚪| 97免费视频在线| 你懂的国产视频| 国产后入清纯学生妹| 久久国产劲爆∧v内射| 四虎a级欧美在线观看| 91色在线看| 精品人妻一区二区三区日产乱码卜| 亚洲 国产 日韩 欧美| 在线看片第一页欧美| ...xxx性欧美| 亚洲国产日韩欧美一区二区三区| 菠萝蜜视频在线观看入口| 亚洲欧美日韩系列| 欧美激情极品视频| 99久久夜色精品国产亚洲1000部| 欧美日韩第二页| 国产视频一区二区在线| 品久久久久久久久久96高清| 欧美一级淫片播放口| www.中文字幕在线| 四虎av网址| 欧美日韩人妻精品一区二区三区| 日韩av一级电影| 图片区日韩欧美亚洲| 国产精品视频免费观看www| 国产三级电影在线| 欧美日韩一区二区国产| 色综合天天视频在线观看| 欧美高清dvd| 成人免费看片'免费看| 国产乱真实合集| 国产综合久久久久久久久久久久| 色www亚洲国产阿娇yao| xxx欧美精品| 国产一区二区不卡| 免费a在线看| 国产在线一二区| 国产精品久久精品| 2014亚洲天堂| 国产精品三级| 97一区二区国产好的精华液| 久久夜色精品亚洲噜噜国产mv| 国产日韩精品推荐| av大片免费观看| 日韩在线国产精品| 丝袜亚洲另类欧美综合| 亚洲精品乱码久久久久久蜜桃欧美| 免费一级特黄3大片视频| 欧美精品99久久久**| 国产亚洲欧美日韩一区二区| 午夜偷拍福利视频| 91精品国产91久久综合桃花| 国内成+人亚洲+欧美+综合在线| 2023国产精品视频| 黄色免费观看| 一区二区三区日韩在线| 538国产精品一区二区免费视频| 天堂蜜桃一区二区三区| 亚洲精品一区二区三区不卡| 亚洲理论电影在线观看| 视频一区二区在线观看| 欧美大胆a视频| 久久99久久久精品欧美| 作爱视频免费观看视频在线播放激情网| 在线观看日本一区二区| 老司机免费在线视频| 亚洲成人av资源| 欧美成人sm免费视频| 涩涩视频在线播放| 久久亚洲天堂| 日韩成人激情在线|