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