泛微ecology E8升E9報錯“java.sql.SQLException: ORA-01439:要更改數(shù)據(jù)類型,則要修改的列必須為空,alter table workflowtomodelog modify(billid varchar2(4000))”

[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

這文章也是在草稿箱中找到,來自于遙遠(yuǎn)的2021年,不過現(xiàn)在依然有網(wǎng)友在使用泛微ecology8,雖然此刻也出來了泛微ecology10,有人依然會愿意升級泛微ecology9來玩耍,畢竟9此刻比10安穩(wěn)!

泛微ecology E8升E9報錯“java.sql.SQLException: ORA-01439:要更改數(shù)據(jù)類型,則要修改的列必須為空”

泛微ecology E8升E9完成后,在Oracle數(shù)據(jù)庫中提示腳本內(nèi)容“alter table workflowtomodelog modify(billid varchar2(4000))”錯誤,報錯為“java.sql.SQLException: ORA-01439:要更改數(shù)據(jù)類型,則要修改的列必須為空”如下圖所示,綜合就是報ora-01439錯誤,字段內(nèi)容不為空,不能修改字段類型;

通過創(chuàng)建臨時字段,轉(zhuǎn)移數(shù)據(jù),清空原字段,修改字段類型,再回填數(shù)據(jù),最后刪除臨時字段,成功實現(xiàn)了字段類型的變更。這個方法適用于字段非空且需要修改類型的情況。

解決思路:新建一個字段,復(fù)制到臨時字段后再清空舊字段內(nèi)容,再修改字段類型,再把值拷回來,再刪除臨時字段就能歐克!

檢查字段類型
desc workflowtomodelog
檢查
select BILLID from workflowtomodelog 
新建相同字段類型的臨時字段
alter table workflowtomodelog add BILLIDbak int null
復(fù)制舊字段到新字段
update workflowtomodelog set BILLIDbak = BILLID 
檢查
select BILLIDbak,BILLID from workflowtomodelog 
清空舊字段內(nèi)容
update workflowtomodelog set BILLID = null 
檢查
select BILLIDbak,BILLID from workflowtomodelog 
修改原字段類型
alter table workflowtomodelog modify(billid varchar2(4000))
檢查
select BILLIDbak,BILLID from workflowtomodelog 
將臨時字段值考回原字段
update workflowtomodelog set BILLID = BILLIDbak
檢查
select BILLIDbak,BILLID from workflowtomodelog 
刪除臨時字段
alter table workflowtomodelog drop column BILLIDbak
檢查
select BILLID from workflowtomodelog

以上都沒啥問題后,點右邊己修復(fù)或已更正即可完成!

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » 泛微ecology E8升E9報錯“java.sql.SQLException: ORA-01439:要更改數(shù)據(jù)類型,則要修改的列必須為空,alter table workflowtomodelog modify(billid varchar2(4000))”

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情