how can i insert into a column of datatype NUMBER(19,19) from a column which has datatype of NUMBER(38). Right now I am getting an error called :
ORA-01438: value larger than specified precision allows for this column
but why u had to exp/imp ? the update on number(15,2) from number(38) should have worked. Would u pls mention why u did it through exp/imp and not through update or insert?
1 - Add a temp column in the end of your table:
alter table your_table add (col_temp varchar(300))
2 – Copy the values of your official column to the new one:
update your_table set col_temp = TO_CHAR(your_official_column_name)
3 – Set your official column to null:
update your_table set your_official_column_name = NULL
4 – Adjust your official column with the usual alter table:
Alter table your_table modify your_official_column_name number(X,Y);
OBS: X,Y = Precision scale
5 – Copy the values back to the original column:
update your_table set your_official_column_name = TO_NUMBER(col_temp)
6 – Drop the temporary column:
alter table your_table drop column col_temp
Bookmarks