日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 數據庫 > Oracle > 正文

oracle中merge into用法及實例解析

2024-08-29 14:01:00
字體:
來源:轉載
供稿:網友

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表數據插入A表但是有很多可選項,如下:

1.正常模式

2.只update或者只insert

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

4.全插入insert實現

5.帶delete的update(覺得可以用3來實現)

下面一一測試。

測試建以下表:

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; 

其表結構截圖如下圖所示:

A_MERGE表結構:

oracle,merge,into

B_MERGE表結構

oracle,merge,into

C_MERGE表結構

oracle,merge,into

1.正常模式

先向A_MERGE和B_MERGE插入測試數據:

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; 

此時A_MERGE和B_MERGE表中數據截圖如下:

A_MERGE表數據:

oracle,merge,into

B_MERGE表數據:

oracle,merge,into

然后再使用merge into用B_MERGE來更新A_MERGE中的數據:

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; 

此時A_MERGE中的表數據截圖如下:

oracle,merge,into

2.只update模式

首先向B_MERGE中插入兩個數據,來為了體現出只update沒有insert,必須有一個數據是A中已經存在的

另一個數據時A中不存在的,插入數據語句如下:

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

此時A_MERGE和B_MERGE表數據截圖如下:

A_MERGE表數據截圖:

oracle,merge,into

B_MERGE表數據截圖:

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表數據截圖如下:可以發現僅僅更新了AID=1的年齡,沒有插入AID=4的數據

oracle,merge,into

3.只insert模式

首先改變B_MERGE中的一個數據,因為上次測試update時新增的數據沒有插入到A_MERGE,這次可以用。

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

此時A_MERGE和B_MERGE的表數據截圖如下:

A_MERGE表數據:

oracle,merge,into

B_MERGE表數據:

oracle,merge,into

然后用B_MERGE來更新A_MERGE中的數據,此時只寫了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; 

此時A_MERGE的表數據截圖如下:

oracle,merge,into

4.帶where條件的insert和update。

我們在on中進行完條件匹配之后,還可以在后面的insert和update中對on篩選出來的記錄再做一次條件判斷,用來控制哪些要更新,哪些要插入。

測試數據的sql代碼如下,我們在B_MERGE修改了兩個人名,并且增加了兩個人員信息,但是他們來自的省份不同,

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

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表數據截圖如下:

oracle,merge,into

B_MERGE表數據:

oracle,merge,into

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

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; 

此時A_MERGE截圖如下:

oracle,merge,into

5.無條件的insert。

有時我們需要將一張表中所有的數據插入到另外一張表,此時就可以添加常量過濾謂詞來實現,讓其只滿足匹配和不匹配,這樣就只有update或者只有insert。這里我們要無條件全插入,則只需將on中條件設置為永假即可。用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之前的數據截圖如下:

oracle,merge,into

B_MERGE數據截圖如下:

oracle,merge,into

C_MERGE表在merge之后數據截圖如下:

oracle,merge,into

6.帶delete的update

MERGE提供了在執行數據操作時清除行的選項. 你能夠在WHEN MATCHED THEN UPDATE子句中包含DELETE子句. 
DELETE子句必須有一個WHERE條件來刪除匹配某些條件的行.匹配DELETE WHERE條件但不匹配ON條件的行不會被從表中刪除.

但我覺得這個帶where條件的update差不多,都是控制update,完全可以用帶where條件的update來實現。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
欧美另类专区| 日韩欧美不卡在线| 中文字幕在线日韩| 中文在线一区二区| 亚洲高清在线观看一区| 精品在线网站观看| 日韩欧美在线精品| 精品三级久久| 欧美一级免费在线观看| 国产拍揄自揄精品视频麻豆| 欧美日韩久久不卡| 欧美日韩在线播放视频| 亚洲福利一区二区三区| 欧美日韩成人一区| 亚洲理论中文字幕| 最新中文字幕在线| 国产区高清在线| 日韩精品欧美在线| www.精品av.com| 欧美日韩国产在线观看| 日韩在线视频免费观看高清中文| 亚洲 欧美 日韩系列| 欧美国产一区视频在线观看| 中文字幕在线欧美| 欧美日韩色综合| 亚洲va久久久噜噜噜久久| 日韩视频在线一区二区| 国产99亚洲| 中文字幕欧美日韩在线不卡| 欧美一级搡bbbb搡bbbb| 天天综合天天做| 亚洲免费精品| 日韩精品在线看| 日韩视频一区在线观看| 欧美在线日韩| 日韩欧美中文字幕在线观看| 日韩精品国产欧美| 色综合天天综合网天天狠天天 | 精品日韩av| 国产日韩第一页v| 亚洲中午字幕| 国产www在线观看| 91精品国产91久久| 日韩精品视频在线播放| 国产中文在线视频| 欧美中文字幕视频| 欧美另类久久久品| 精品久久久久久综合日本欧美| 亚洲а∨精品天堂在线| 国产一级在线免费观看| 欧美日韩夫妻久久| 国产一区在线观看视频| 中文精品视频| а√天堂中文在线资源8| www..com日韩| 麻豆一区二区99久久久久| 91极品视频在线观看| 91精品国产综合久久久久久| 日韩欧美一二三| 日韩精品视频在线| 国产 欧美在线| 国产黄色一区| 精品国产1区2区3区| 日韩免费视频一区二区视频在线观看| 欧美一级搡bbbb搡bbbb| 日韩在线精品视频| 精品人妻二区中文字幕| 天天摸日日摸狠狠添| 欧美一级手机免费观看片| 中文字幕在线播出| 日韩你懂的电影在线观看| 美女在线视频一区| 亚洲欧美99| 中文字幕成人乱码在线电影| 深夜福利一区| 国产成人精品网址| 九七久久人人| www日韩在线观看| 国产福利免费在线观看| 一区二区精品| 日韩视频在线免费播放| 国产激情三区| 午夜伊人狠狠久久| www.eeuss影院| 精品在线91| 国产欧美日韩综合精品| 国产中文在线播放| 一区二区三区高清在线| 日本亚洲欧美三级| 国产黄色一区| 国产黄色网页| 在线不卡一区二区| 日韩精品a在线观看91| 欧美日韩精品综合| 中文字幕 乱码 中文乱码91| 日韩精品视频中文在线观看| 亚洲一区中文字幕在线| 中文字幕五月欧美| 精品国产91| 欧美日韩中文字幕在线观看| 不卡专区在线| 国产91大片| 日韩中文字幕国产| 国产成人精品三级| 中文字幕亚洲第一| 日韩欧美三级| 中文字幕精品一区二| 亚洲一区在线观看网站| 二区中文字幕| 最新中文字幕在线| 在线观看免费国产成人软件| 91精品国产高清91久久久久久| 福利一区二区| 日韩欧美三级视频| 中文字幕99| www日韩在线观看| 欧美日韩一二三| 日韩精品三级| 精品久久人人做人人爽| 在线一区免费| 中文字幕最新精品| 欧美日韩第一区日日骚| 97caopor国产在线视频| 国产欧美久久久久久久久| 日韩欧美国产亚洲| www中文字幕| 日韩精品欧美| 精品欧美日韩精品| 亚洲一区在线观看视频| 白嫩少妇丰满一区二区| 久久婷婷中文字幕| 欧美三级网址| 欧美日韩国产在线看| 91精品啪在线观看国产60岁 | 国产成人精品网址| 91精品久久久久| 中文字幕线观看| 亚洲女同中文字幕| 中文字幕99| 在线看av的网址| 日韩三级视频在线看| 精品色蜜蜜精品视频在线观看| 五月天久久比比资源色| 国产激情在线| 欧美日韩激情一区| 亚洲欧美日本国产专区一区| 婷婷久久综合九色国产成人| 日韩欧美三级视频| 一区二区不卡在线播放| 欧美久久在线| 日韩精品免费视频一区二区三区| 欧美 日韩 国产在线观看| 欧美日韩在线精品成人综合网| 日韩国产欧美在线视频| 国产欧美日韩亚洲| 国产亚洲欧美中文| 亚洲永久字幕| 国产一卡2卡3卡免费网站| 日韩视频精品在线| 欧美日韩高清在线播放| 中文字幕在线看视频国产欧美| 91亚洲国产| 国产一区在线精品| 国产劲爆久久| 精品日韩av| 中文字幕第一页在线| a在线观看免费视频| 国产不卡视频在线| 视频在线一区二区| 国产日韩精品电影| 视频一区不卡| 日韩在线观看精品| 国产成人中文字幕| 欧美日韩国产大片| 国产在线高清精品| av免费看在线| 日韩欧美一级精品久久| 中文字幕视频在线免费欧美日韩综合在线看| 欧美一级久久久久久久久大| 成人欧美亚洲| 国产绿帽一区二区三区| 国内精品露脸在线视频播放| 亚州黄色一级| 国产乱国产乱300精品| 中文字幕日韩在线观看| 中文字幕亚洲一区在线观看| 亚洲.国产.中文慕字在线| 国产福利不卡| 国产小视频在线| 日韩视频免费直播| 欧美婷婷久久| 国产中文在线播放| 欧美日韩成人一区| 91蜜桃在线视频| 中文在线一区二区| 中文字幕日韩国产| 91欧美日韩在线| 国产日韩精品在线| 日韩精品在线观| 欧美在线视频二区| 日韩免费久久| 欧美婷婷久久| 欧美片网站免费| 日韩在线视频免费观看| 国产亚洲福利| 国产三级视频在线播放线观看| 日韩中文首页| 欧美熟妇乱码在线一区| 精品色蜜蜜精品视频在线观看| 中文在线第一页| 亚洲成在线观看| 不卡在线一区二区| 欧美国产一级片| 欧美日韩国产一区| 日韩欧美久久久| 国产蜜臀在线| 在线国产99| 精品国产99| 在线手机中文字幕| 亚洲一二三不卡| 国产三级在线观看视频| 国内不卡的二区三区中文字幕| 久精品在线观看| 欧美 日韩 综合| 国产欧美日韩视频| 一级片免费网站| 精品日韩在线播放| 91精品综合久久| 欧美日韩在线播放三区四区| 国产日韩电影| 国产视频1区2区| 国产传媒久久久| 日韩欧美国产网站| 日韩欧美资源站| 精品一性一色一乱农村| 成人无遮挡免费网站视频在线观看| 一级免费a一片| 欧美日韩精品国产| 国产欧美高清在线| aaa免费看大片| 亚洲羞羞网站| 免费精品国产自产拍观看| 在线一区二区不卡| 欧美一级二级三级区| 第一页在线观看| 日本亚洲欧美天堂免费| 精品视频久久| 91精品免费看| 精品极品三级久久久久| 中文字幕中文字幕精品| 精品对白一区国产伦| 欧美日韩午夜在线视频| 亚洲一区在线观看视频| 91精品无人成人www| 日韩在线视频二区| 亚洲欧美小说国产图片| 日韩欧美高清在线| 欧美中文字幕在线视频| 中文在线а√在线8| 国产亚洲欧美色| 国产视频一二区| 欧美日韩一级黄| 国产主播中文字幕| 久久精品电影| 日韩中文字幕视频在线| 国产高清在线视频| 欧美日韩三级在线| 日韩中文字幕91| 91麻豆精品在线| 天天综合天天| 亚洲综合在线小说| www.eeuss影院| 亚洲经典中文字幕| 国产高清在线视频| 国产欧美日韩综合精品| 国产v日产∨综合v精品视频| 欧美熟妇乱码在线一区| 中文字幕五月欧美| 91久久久精品国产| 亚洲免费看av| 久久久综合av| 狠狠色噜噜狠狠狠狠97| 日韩欧美在线中字| av免费在线播放| 欧美中文字幕精品| 欧美日韩成人一区二区| 国产在线精品国自产拍免费| 99久久www免费| 在线视频日韩欧美| 国产三级精品在线观看| 国产高清在线一区| 九九视频精品免费| 精品久久香蕉国产线看观看gif| 中文字幕中文字幕精品| 在线国产三级| 欧美三级网址| 日韩一级精品| 国产免费久久| 91精品国产自产在线丝袜啪| 国产自产视频| 欧美日韩在线精品一区二区三区激情综| 国产欧美日韩在线视频| 国产在线不卡av| 亚洲成年人影院在线| 日韩精品国产欧美| 在线观看av的网站| 欧美激情视频一区二区三区在线播放| 精品亚洲国内自在自线福利| 国产日韩专区| 日韩三级视频在线| 精品日韩在线播放| 91国内在线| 正在播放日韩精品| 国产福利免费观看| 亚洲免费视频一区| 欧美久久综合性欧美| 亚洲九九精品| 亚洲中文字幕在线一区| 999精品色在线播放| 欧美日韩高清在线播放| 欧美日韩中文字幕在线视频| 亚洲欧洲精品在线| a在线观看免费视频| 亚洲视频日韩| 日韩中文字幕精品视频| 91欧美日韩| 亚洲日产av中文字幕| 亚洲a中文字幕| 亚洲成av人片在线| 欧美日韩高清在线| 亚洲一区在线观看网站| 精品视频—区二区三区免费| 亚洲国产福利视频| 国产九九在线| 亚洲第一视频网站| 中文字幕亚洲欧美| 欧美日韩在线第一页| 国产嫩草影院久久久久| 国产午夜精品久久| 日韩国产亚洲欧美| 91久久精品在线| 国产欧美久久久精品影院| 麻豆精品99| 一二三区精品视频| 日韩免费视频一区| 精品一区二区三区中文字幕在线| 久久久精品福利| 91精品啪在线观看国产60岁| 国产黄色精品| 亚洲精品欧美二区三区中文字幕| 日韩精品视频在线免费观看 | 日韩精品一级| 欧美日韩在线不卡一区| 色99中文字幕| 免费在线国产| 中文字幕精品在线| 日韩激情一区| 粉嫩喷白浆久久| 中文字幕亚洲高清| 欧美日韩国产免费| 日韩中文字幕在线观看视频| 亚洲一区中文在线| 亚洲一级特黄| 日韩欧美中文免费| 欧美一级手机免费观看片| 欧美日韩中文字幕视频| 国产福利在线播放| 精品1区2区3区| 国产黄在线观看| 国产欧美日产一区| 一级片免费网站| 久久婷婷亚洲| 日韩欧美高清在线视频| 久久91精品国产91久久小草| 一区二区日韩av| 日韩精品在线视频观看| 欧洲精品二区| 欧美日韩国产观看视频| 中文字幕在线视频第一页| 精品人妻二区中文字幕| www在线视频| 久精品在线观看| 国产对白在线| 免费在线视频一区二区| 亚洲精品中文字幕乱码三区| 中文字幕精品一区二区三区在线| 国产成人精品亚洲| 日韩视频一区二区在线观看| 日韩一二三四区| 欧美日韩一级黄| 欧美日韩久久不卡| 欧美日韩国产影片| 日韩精品―中文字幕| 韩国v欧美v日本v亚洲| 久久夜色精品国产噜噜亚洲av| 久久精品www| 深夜福利亚洲| 亚洲最新永久观看在线| 久久激情一区| 一区二区精品|