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

首頁 > 數據庫 > Oracle > 正文

在Oracle數據庫中同時更新兩張表的簡單方法

2024-08-29 13:58:33
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了在Oracle數據庫中同時更新兩張表的簡單方法,同時介紹了一種差異性合并更新的方法,需要的朋友可以參考下

以前只會寫一些簡單的updaet語句,比如updae table set c1='XXX' 之類的

今天遇到一個數據訂正的問題,項目背景如下,有個表A,有兩個字段a1,a2還有一個關聯表B,其中也有兩個字段,b1和b2。其中a2和b2是關聯的,想把A中的字段a1更新成B中的b1

理論上sql應該挺好寫的,但是在oralce中實現了半天一直報語法錯誤。而且確實還有些小小細節沒有注意到。

首先上測試數據

表1,ZZ_TEST1

在Oracle數據庫中同時更新兩張表的簡單方法

表2,ZZ_TEST2

在Oracle數據庫中同時更新兩張表的簡單方法

要把表一的text更新成表二的text1值,對應的sql如下:

 

 
  1. update ZZ_TEST1 t1 set t1."text" = ( 
  2. select T2."text1" from ZZ_TEST2 t2 where T2."pid"=t1."id" 
  3. )  
  4. WHERE EXISTS 
  5. SELECT 1 FROM ZZ_TEST2 t2 where T2."pid"=t1."id" 

后面的where條件表示一個限制條件,只更新那些符合條件的數據,也可以寫成

 

 
  1. update ZZ_TEST1 t1 set t1."text" = ( 
  2. select T2."text1" from ZZ_TEST2 t2 where T2."pid"=t1."id" 
  3. where t1."id" in (select "pid" from ZZ_TEST2 ) 

另外還有一種merge的寫法,對應的sql如下:

 

 
  1. merge into ZZ_TEST1 t1 using ZZ_TEST2 t2 on (t1."id" =t2."pid")  
  2.  
  3. when matched then 
  4.  
  5. update set t1."text"=t2."text1" 

為了避免T2中有多條數據對應T1中的數據,可以把sql改成如下的方式:

 

 
  1. MERGE INTO ZZ_TEST1 t1 USING  
  2. (  
  3. SELECT * FROM ZZ_TEST2 X WHERE X. ROWID =  
  4. (SELECT MAX(Y.ROWID) FROM ZZ_TEST2 Y WHERE X."id" = Y."id" ) 
  5. )  
  6. t2  
  7. ON (t1."id" = t2."pid")  
  8. WHEN MATCHED THEN 
  9. UPDATE SET t1."text" = t2."text1" 

還有一種update from 的語法,經過測試在oracle和mysql中不適用

總結一下,項目中嘗嘗需要把一張表的字段更新到另一張表中的某一個字段。可以使用update語法,并要做好限定。會使用merge的語法,另外還有一種merge的語法也可以,update from 不能再oracle和mysql中使用。


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品久久久久| 国产精品久久久久77777| 不卡av电影在线观看| 国产91精品久久久久| 国产精品久久久久久一区二区| 欧美性开放视频| 亚洲精品一区av在线播放| 日本精品性网站在线观看| 国产亚洲福利一区| 色老头一区二区三区在线观看| 日韩欧美一区二区在线| 国产精品久久久久久久久久免费| 国产suv精品一区二区三区88区| 456亚洲影院| 伊人一区二区三区久久精品| 国产精品中文字幕久久久| 91精品免费久久久久久久久| 亚洲精品91美女久久久久久久| 国产欧美日韩综合精品| 欧美一级黄色网| 亚洲日韩欧美视频| 亚洲美女在线观看| 国产成人鲁鲁免费视频a| 欧美最猛性xxxxx免费| 国产欧美中文字幕| 亚洲www在线观看| 亚洲xxxx18| 国产精品18久久久久久首页狼| 另类视频在线观看| 日韩av在线精品| 国产精品入口夜色视频大尺度| 国产97在线观看| 国产午夜精品美女视频明星a级| 夜夜躁日日躁狠狠久久88av| www.亚洲男人天堂| 亚洲国产精品久久久久久| 欧美老女人性生活| 97在线看免费观看视频在线观看| 久久亚洲综合国产精品99麻豆精品福利| 欧美成年人视频| 欧美视频第一页| 国产区亚洲区欧美区| 国产午夜精品美女视频明星a级| 久久国产一区二区三区| 国产亚洲人成a一在线v站| 精品欧美国产一区二区三区| 国产精品久久久久久久av电影| 6080yy精品一区二区三区| 色偷偷综合社区| 成人精品久久一区二区三区| 亚洲国产欧美一区二区三区久久| 欧美激情精品久久久久久大尺度| 国产日产欧美精品| 中文字幕亚洲综合久久筱田步美| 成人午夜在线视频一区| 成人黄色激情网| 日韩电影视频免费| 欧美大片在线看| 精品露脸国产偷人在视频| 久久久精品日本| 久久精品国产v日韩v亚洲| 国产国语刺激对白av不卡| 国产欧美久久一区二区| 久久成年人免费电影| 日韩中文字幕在线视频| 欧美成人免费网| 成人av在线天堂| 国产成人精品在线播放| 亚洲aⅴ日韩av电影在线观看| 亚洲人免费视频| 日本高清不卡的在线| 久久影视三级福利片| 成人妇女免费播放久久久| 精品久久久999| 8050国产精品久久久久久| 亚洲精品综合精品自拍| 国产精品日韩av| 国产欧美在线视频| 久久人人爽人人爽爽久久| 国产亚洲一区精品| 亚洲аv电影天堂网| 亚洲最大福利视频| 亚洲成avwww人| 91精品国产免费久久久久久| 91精品啪aⅴ在线观看国产| 欧美大人香蕉在线| 日韩在线观看精品| 日韩成人性视频| 欧美精品在线网站| 精品欧美国产一区二区三区| 亚洲综合精品伊人久久| 国产成人精品一区二区| 日韩精品视频在线播放| 亚洲自拍欧美另类| 亚洲精品电影网站| 日韩有码在线播放| 538国产精品视频一区二区| 国产日韩在线免费| 国产免费久久av| 欧美激情综合色综合啪啪五月| 国产手机视频精品| 国产精品人成电影| 国产欧美一区二区| 亚洲国产日韩欧美在线图片| 成人免费xxxxx在线观看| 国产欧美日韩精品专区| 日韩电影免费在线观看| 懂色av中文一区二区三区天美| 久久综合久中文字幕青草| 91欧美精品午夜性色福利在线| 久久夜精品va视频免费观看| 懂色aⅴ精品一区二区三区蜜月| 欧美性猛交xxxx| 97视频网站入口| 4438全国亚洲精品在线观看视频| 日韩av片免费在线观看| 日韩动漫免费观看电视剧高清| 国产亚洲美女精品久久久| 精品国产91久久久久久老师| 2019中文字幕全在线观看| 97热在线精品视频在线观看| 亚洲国产精品高清久久久| 欧美一级在线亚洲天堂| 日韩暖暖在线视频| 中文字幕国产亚洲2019| 日韩高清av在线| 在线观看精品国产视频| 亚洲三级 欧美三级| 最新国产成人av网站网址麻豆| 国产精品99久久久久久人| 久久躁狠狠躁夜夜爽| 亚洲第一男人av| 欧美视频13p| 欧洲美女免费图片一区| 欧美日韩一区二区免费视频| 国产成人精品久久| 久久97久久97精品免视看| 国产精品91久久久| 美日韩丰满少妇在线观看| 91在线精品播放| 国产精品永久免费| 欧美电影免费观看网站| 欧美激情一区二区三区成人| 一区二区三区四区在线观看视频| 欧美性xxxx| 久久久精品视频成人| 91精品国产色综合久久不卡98口| 国产精品高潮粉嫩av| 亚洲精品福利资源站| 中文字幕欧美日韩va免费视频| 亚洲性生活视频| 久久久久久中文| 久久精品国产亚洲一区二区| 欧美成人h版在线观看| 久久久视频精品| 国产成人91久久精品| 久久久久久91| 精品电影在线观看| 国产精品久久久久久中文字| 欧美激情国产日韩精品一区18| 欧美成人免费va影院高清| 91精品久久久久久久久青青| 国产精品亚洲视频在线观看| 亚洲成色777777在线观看影院|