條件1:清除以前跟這個(gè)物料相關(guān)的所有計(jì)劃數(shù)據(jù):未清的PO,SO,以及其他的計(jì)劃訂單等(刪除行項(xiàng)目就行)。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)臨夏州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
條件2:庫(kù)里的東西要全部清掉,不管是用初始化562出去還是消耗掉。
條件3:如果你啟用了物料分類賬,似乎需要將前期庫(kù)存也清掉(比如當(dāng)期是8月的話,7月的庫(kù)存也必須為0),具體怎么清掉你可以查下note,我記得有個(gè)note專門(mén)講怎么修改物料主數(shù)據(jù)上的批次管理。
需要用updata語(yǔ)句來(lái)批量修改。
如圖,test表中有如下數(shù)據(jù):
現(xiàn)在要將id小于3的name改成“孫七”,可用如下語(yǔ)句:
update test set name='孫七' where id3;
commit;執(zhí)行后結(jié)果為:
最好的方法是批量修改,即每次修改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ì)都沒(méi)有要好得多。如果對(duì)這些修改真的有信心,而只是從性能考慮,那可以用下面的方法(pk_col 是表的主鍵
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表格提供給開(kāi)發(fā),那么開(kāi)發(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表格提供給開(kāi)發(fā),那么開(kāi)發(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必須是主鍵
declare
i integer;
batch_ number;
sale_rec_ sale%ROWTYPE;
CURSOR get_sale
IS
SELECT *
FROM sale
-- order by 某條件
FOR UPDATE;
begin
i := 0;
batch_ = 1000 -- 第一個(gè)全數(shù)字類型批號(hào)
FOR p_sale_ IN get_sale LOOP
UPDATE sale
SET flag = batch_ + trunc( i / 100 ) -- 批號(hào)
WHERE CURRENT OF get_sale;
i := i+1;
-- 調(diào)試器中輸入檢查結(jié)果
dbms_output.put_line(to_char(i)||'. '|| to_char( batch_ + trunc(i/2)) );
END LOOP;
-- 調(diào)試好后加上提交
-- commit;
end;
如果是字符型批號(hào), 需要對(duì)上面的代碼略做修改
主鍵表 - T表 '100W'數(shù)據(jù)同步到T1表(同步:TRUNCATE/DELETE或IMPDP...等方式[手動(dòng)改數(shù)據(jù)])
例如: T表對(duì)應(yīng)SEQ_T.NEXTVAL= 100W;
T1表對(duì)應(yīng)SEQ_T.NEXTVAL= 10W;
TRUNCATE TABLE T1;
INSERT TABLE T1 SELECT * FROM T;
數(shù)據(jù)同步但T1表對(duì)應(yīng)SEQ_T.NEXTVAL= 10W序列不變;
此時(shí)T1調(diào)用序列INSERT到T1表時(shí)就會(huì)報(bào)錯(cuò) ( ORA-00001 : 違反唯一約束條件 (LOTTERY.PK_T1))
(若批量同步很多表就可能會(huì)引起很多表序列需要更新成主鍵最大值+ 1才能保證不報(bào)錯(cuò)
(可以用把源庫(kù)的SEQUENCE同步過(guò)來(lái)①或者如下存儲(chǔ)解決② ))
你應(yīng)該考慮你要做哪一塊?是做純dba還是做ebs dba,現(xiàn)在的ocp都是paper test,背背TK就可以搞定,技術(shù)含量不高,做敲門(mén)磚還是可以的。純dba就是純數(shù)據(jù)庫(kù)的管理,調(diào)優(yōu)。ebs dba也叫application dba,不光管理數(shù)據(jù)庫(kù),還有應(yīng)用部分,form,apache的管理,還要考慮系統(tǒng)整體架構(gòu),硬件什么都要考慮。薪水方面,ebs dba比純dba高很多。
還有就是你又說(shuō)到了Oracle ERP,這個(gè)可以分為3種,功能,開(kāi)發(fā)和ebs dba。功能比較偏業(yè)務(wù),開(kāi)發(fā)主要是form builder,report builder,discoverer開(kāi)發(fā)。ebs dba就是上面所說(shuō)的了。
主要也是得看你個(gè)人喜好,做dba是比較枯燥的,沒(méi)有想象的那么美好。頭幾年,待遇跟程序員比,差別不大。
如果想做ebs dba的話,你可以先從純dba入手,熟悉oracle整個(gè)體系架構(gòu),再掌握一些硬件方面知識(shí)。有機(jī)會(huì)的話,轉(zhuǎn)向ebs dba。
如果做業(yè)務(wù)的話,先做財(cái)務(wù) 物流開(kāi)發(fā),1-2年左右轉(zhuǎn)向功能顧問(wèn)。
總而言之,做業(yè)務(wù)比做技術(shù)有前途,尤其是在ERP行業(yè),本人深有體會(huì)!!切記切記。
文章名稱:oracle如何修改批次,oracle批量修改字段
瀏覽地址:http://chinadenli.net/article26/hsijcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、做網(wǎng)站、虛擬主機(jī)、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、靜態(tài)網(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)