發生原因:在執行INSERT或是UPDATE的時候,給值的數字格式資料長度超過限制
處理辦法:
1.修改數字欄位的資料長度在限制的長度之內
2.修改資料表的資料長度限制
範例
建立一個資料表,設定資料長度分別為NUMBER(2)及VARCHAR(2)。
CREATE TABLE TABEL_NAME(
AA NUMBER(2),
BB VARCGAR(2)
)
這樣就會發生ORA-01438的錯誤,因為AA的欄位長度是2但是卻給了一個長度是3的值。
INSERT TABELE_NAME(
AA,
BB)
VALUES(
123,
'bb')
要排除這樣的錯誤有兩個方法,把INSERT值的長度修改符合限制的長度2。
INSERT TABELE_NAME(
AA,
BB)
VALUES(
12,
'bb')
或是修改資料表的設計。
ALTER TABLE TABLE_NAME
MODIFY AA NUMBER(3)
>> 歡迎前往 Superfunction ORA error code
沒有留言:
張貼留言