解決Oracle批量修改問題
問題:根據(jù)唯一字段編碼修改其它字段,修改部分數(shù)據(jù),數(shù)量在上萬條數(shù)據(jù),數(shù)據(jù)大,一開始就卡死了!笨辦法,一條一條修改不知可年可月啊。其他方法個人原因?qū)嵲谑菬o能為力。如下:
update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-2V'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-2W'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-2X'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-2Y'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-2Z'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-31'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-32'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-33'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-34'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-35'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-36'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-37'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-38'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-39'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3A'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3B'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3C'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3D'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3E'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3F'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3G'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3H'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3I'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3J'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3K'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3L'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3M'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3N'; update ka02_new set aka065=1,aka166=1 where aka060='X-P02CA-A010-A001-3O'; ....
百度結(jié)果:百度了一下,很多解決方案,有的寫的很粗糙,完全不理解,也許自己水平問題。有的是自己真的看不懂,個人水平跟不上。
解決方案:最后的解決辦法,還是老辦法,就是新建一張臨時表(表B:a_2017 ),把所修改的唯一字段編碼和修改后的數(shù)據(jù)放在B表。sql大體如下(原表A:ka02_new ,唯一字段aka060 ,修改的字段分別為aka065 和aka166 ):
update ka02_new b set b.aka065 = (SELECT a.aka065 FROM a_2017 a WHERE a.aka060 = b.aka060), b.aka166 = (SELECT a.aka166 FROM a_2017 a WHERE a.aka060 = b.aka060) WHERE b.aka060 in (SELECT a.aka060 FROM a_2017 a);
總結(jié)
以上所述是小編給大家介紹的解決Oracle批量修改問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
ORACLE數(shù)據(jù)庫事務(wù)隔離級別介紹
事務(wù)隔離級別:一個事務(wù)對數(shù)據(jù)庫的修改與并行的另一個事務(wù)的隔離程度2012-07-07Oracle查詢表里的重復(fù)數(shù)據(jù)方法
這篇文章主要介紹了Oracle查詢表里的重復(fù)數(shù)據(jù)方法,需要的朋友可以參考下2017-05-05Oracle觸發(fā)器表發(fā)生了變化 觸發(fā)器不能讀它的解決方法(必看)
下面小編就為大家?guī)硪黄狾racle觸發(fā)器表發(fā)生了變化 觸發(fā)器不能讀它的解決方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04解決Oracle?查詢時報錯ORA-00923:?FROM?keyword?not?found?where?
這篇文章主要介紹了解決Oracle?查詢時報錯ORA-00923:?FROM?keyword?not?found?where?expected的問題,主要給大家介紹可能發(fā)生報錯的幾種情況,感興趣的朋友跟隨小編一起看看吧2023-03-03Oracle數(shù)據(jù)泵EXPDP/IMPDP導(dǎo)出導(dǎo)入功能詳細深入解析
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)泵EXPDP/IMPDP導(dǎo)出導(dǎo)入功能的相關(guān)資料,數(shù)據(jù)泵導(dǎo)出/導(dǎo)入屬于邏輯備份,熱備份與冷備份都屬于物理備份,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-12-12Linux 自動備份oracle數(shù)據(jù)庫詳解
這篇文章主要介紹了Linux 自動備份oracle數(shù)據(jù)庫詳解方法的相關(guān)資料,數(shù)據(jù)庫的備份的重要性,不言而喻,希望能幫到大家,需要的朋友可以參考下2016-10-10