You may want to learn about a similar error message ORA-01438 caused by larger values being inserted in NUMBER columns.
Message displayed with error ORA-12899 is self-explained. This error would come if you are trying to insert into a table’s column which is not big enough to hold the data being inserted. Suppose you define a column with a width of 10 characters (VARCHAR2(10)), and later if you try to insert a value longer than 10 characters, ORA-12899 would be returned. To solve this problem you can either reduce the data width being inserted, or alternatively increase the column width. If you have a multi-byte database characterset, a VARCHAR2 column with a width of 10 may not store exactly 10 characters. Following is one example to produce ORA-12899.
Message displayed with error ORA-12899 is self-explained. This error would come if you are trying to insert into a table’s column which is not big enough to hold the data being inserted. Suppose you define a column with a width of 10 characters (VARCHAR2(10)), and later if you try to insert a value longer than 10 characters, ORA-12899 would be returned. To solve this problem you can either reduce the data width being inserted, or alternatively increase the column width. If you have a multi-byte database characterset, a VARCHAR2 column with a width of 10 may not store exactly 10 characters. Following is one example to produce ORA-12899.
SQL>
drop table test;
Table
dropped.
SQL>
create table test(name varchar2(4));
Table
created.
SQL>
insert into test values ('aaaaaaaaa');
insert
into test values ('aaaaaaaaa')
*
ERROR
at line 1:
ORA-12899:
value too large for column "SYS"."TEST"."NAME"
(actual: 9, maximum:4
SQL>
insert into test values ('aaaa');
1
row created.
|
No comments:
Post a Comment