最好的方法是批量修改,即每次修改5000條(一次修改不要超過一萬條,否則影響性能). 雖然在11g中,我們也可以選擇使用merge命令,但你的這種情況最好先修改一部分然后看看影響,畢竟在生產(chǎn)環(huán)境作這樣的操作風(fēng)險很大。如果是誤操作,最好還是請DBA來恢復(fù),雖然這樣做會被挨罵,但總比錯上加錯,最后連挨罵的機會都沒有要好得多。如果對這些修改真的有信心,而只是從性能考慮,那可以用下面的方法(pk_col 是表的主鍵
成都創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10多年品質(zhì),值得信賴!
1、構(gòu)建臨時表進行主鍵關(guān)聯(lián)更新
需求:T1表有千萬級別的數(shù)據(jù)量,需要更新這個表的字段a,b滿足2個條件的記錄。
做法:一般業(yè)務(wù)會將條件通過excel表格提供給開發(fā),那么開發(fā)首先需要將這個excel表格的內(nèi)容插入到臨時表T2中,考慮到a,b都不是主鍵,那么需要將a,b轉(zhuǎn)化成主鍵后再插入到T2表中,T2表中還可以保存更新前的數(shù)據(jù),方便做數(shù)據(jù)回滾,T2表中有數(shù)據(jù)后,就可以執(zhí)行下面腳本進行更新操作:
ps:c,d是需要更新的操作,e,f是條件。必須強調(diào)的是id必須是主鍵
1、構(gòu)建臨時表進行主鍵關(guān)聯(lián)更新
需求:T1表有千萬級別的數(shù)據(jù)量,需要更新這個表的字段a,b滿足2個條件的記錄。
做法:一般業(yè)務(wù)會將條件通過excel表格提供給開發(fā),那么開發(fā)首先需要將這個excel表格的內(nèi)容插入到臨時表T2中,考慮到a,b都不是主鍵,那么需要將a,b轉(zhuǎn)化成主鍵后再插入到T2表中,T2表中還可以保存更新前的數(shù)據(jù),方便做數(shù)據(jù)回滾,T2表中有數(shù)據(jù)后,就可以執(zhí)行下面腳本進行更新操作:
ps:c,d是需要更新的操作,e,f是條件。必須強調(diào)的是id必須是主鍵
把查出來的數(shù)據(jù)做一個表g,a.rsc_status_cd as rsc_status
使用update g set g.rsc_status = '43'。
使用b表數(shù)據(jù)更新a表,那么where條件是什么,也就是說,更新a表中哪些數(shù)據(jù),用b表中的哪些數(shù)據(jù)更新,二者的關(guān)系是什么。從你的語句中我看不出b表和a表的關(guān)聯(lián)。
找到關(guān)聯(lián)條件后,通過關(guān)聯(lián)條件查出的b表數(shù)據(jù)是否唯一,如果不唯一,還是會出現(xiàn)“返回值多于一行”的錯誤。
邏輯結(jié)構(gòu)
它由至少一個表空間和數(shù)據(jù)庫模式對象組成。這里,模式是對象的集合,而模式對象是直接引用數(shù)據(jù)庫數(shù)據(jù)的邏輯結(jié)構(gòu)。模式對象包括這樣一些結(jié)構(gòu):表、視圖、序列、存儲過程、同義詞、索引、簇和數(shù)據(jù)庫鏈等。邏輯存儲結(jié)構(gòu)包括表空間、段和范圍,用于描述怎樣使用數(shù)據(jù)庫的物理空間。
總之,邏輯結(jié)構(gòu)由邏輯存儲結(jié)構(gòu)(表空間,段,范圍,塊)和邏輯數(shù)據(jù)結(jié)構(gòu)(表、視圖、序列、存儲過程、同義詞、索引、簇和數(shù)據(jù)庫鏈等)組成,而其中的模式對象(邏輯數(shù)據(jù)結(jié)構(gòu))和關(guān)系形成了數(shù)據(jù)庫的關(guān)系設(shè)計。
以上內(nèi)容參考:百度百科-Oracle數(shù)據(jù)庫
用alter語句進行修改。
語法:
1
alter
table
表名
modify
字段名
字段類型(字段長度);
說明:如果是date等沒有長度的類型,字段長度部分可以省略。
如:目前test表屬性如下
要將name列的字段類型改為date類型,可用如下語句:
1
alter
table
test
modify
name
date;
此時可見name列的類型已經(jīng)更新成功。
注意事項:
如果表中有數(shù)據(jù)盡量不要使用此語句,會造成數(shù)據(jù)丟失,應(yīng)在備份的情況下進行修改。
網(wǎng)站標(biāo)題:oracle如何修改數(shù)值,oracle怎么修改
瀏覽路徑:http://chinadenli.net/article6/hegiog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、Google、網(wǎng)站導(dǎo)航、ChatGPT、服務(wù)器托管、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)