這兩天在做項(xiàng)目時(shí),頻頻出現(xiàn):ORA-01401: 插入的值對(duì)于列過(guò)大的異常,根據(jù)經(jīng)驗(yàn),我以為是數(shù)據(jù)為空造成的結(jié)果,調(diào)了好長(zhǎng)時(shí)間,仍沒(méi)有結(jié)果,浪費(fèi)了不少時(shí)間,后來(lái)才發(fā)現(xiàn),原來(lái)是插入的數(shù)值和數(shù)據(jù)庫(kù)鐘表字段的定義的問(wèn)題。以前的系統(tǒng)默認(rèn)日期為10位長(zhǎng),現(xiàn)在突然修改成了8位,結(jié)果就出問(wèn)題了。同時(shí),還有一個(gè)異常:ORA-01438: 值大于此列指定的允許精確度。這個(gè)同樣是因?yàn)楸碜侄蔚膶傩孕薷牧说木壒剩郧笆?SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋體; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">numeric(8,4),現(xiàn)在是numeric(4,3),肯定要出問(wèn)題了
。只怪自己不細(xì)心阿,其實(shí)文檔里也挺全的,但是就沒(méi)看,看了也沒(méi)在意,一切還是按照以前的習(xí)慣,真是壞習(xí)慣害死人阿,特寫此以警示!
總結(jié)一下,我碰到過(guò)的情況:
1。插入的值對(duì)于列過(guò)大的異常:暫時(shí)有兩種可能,一是數(shù)值為空(null),結(jié)果插入時(shí)就會(huì)拋此異常, 二是因?yàn)椴迦氲臄?shù)值超出了表字段定義的范圍,如上。
2。值大于此列指定的允許精確度:主要是因?yàn)椴迦氲臄?shù)值超出了表字段定義的范圍,同上。
以后再碰到其它情況就慢慢補(bǔ)充了!


總結(jié)一下,我碰到過(guò)的情況:
1。插入的值對(duì)于列過(guò)大的異常:暫時(shí)有兩種可能,一是數(shù)值為空(null),結(jié)果插入時(shí)就會(huì)拋此異常, 二是因?yàn)椴迦氲臄?shù)值超出了表字段定義的范圍,如上。
2。值大于此列指定的允許精確度:主要是因?yàn)椴迦氲臄?shù)值超出了表字段定義的范圍,同上。
以后再碰到其它情況就慢慢補(bǔ)充了!