這兩天在做項目時,頻頻出現:ORA-01401: 插入的值對于列過大的異常,根據經驗,我以為是數據為空造成的結果,調了好長時間,仍沒有結果,浪費了不少時間,后來才發現,原來是插入的數值和數據庫鐘表字段的定義的問題。以前的系統默認日期為10位長,現在突然修改成了8位,結果就出問題了。同時,還有一個異常:ORA-01438: 值大于此列指定的允許精確度。這個同樣是因為表字段的屬性修改了的緣故,以前是
numeric(8,4),現在是numeric(4,3),肯定要出問題了
。只怪自己不細心阿,其實文檔里也挺全的,但是就沒看,看了也沒在意,一切還是按照以前的習慣,真是壞習慣害死人阿,特寫此以警示!
總結一下,我碰到過的情況:
1。插入的值對于列過大的異常:暫時有兩種可能,一是數值為空(null),結果插入時就會拋此異常, 二是因為插入的數值超出了表字段定義的范圍,如上。
2。值大于此列指定的允許精確度:主要是因為插入的數值超出了表字段定義的范圍,同上。
以后再碰到其它情況就慢慢補充了!