I have a simple pl/sql procedure as follows:
cursor subunit_cursor is
select x.airline_code airline_code,
from elpunic x;
delete from elpunic where dep_date = to_char(sysdate, 'yyyy-mm-dd');
for c1 in subunit_cursor loop
insert into elpunic
(airline_code, flight_no, aircraft_type, dep_date, material_group, unit_type, subunit_type, no_of_unit)
(c1.airline_code, c1.flight_no, c1.aircraft_type, c1.dep_date,
c1.material_group, c1.unit_type, c1.unit, c1.unit_qty);
However, when execute the procedure, errors occur:
ORA-01401: inserted value too large for column
ORA-06512: at line 85
I have tried to get the length of each field in the select statement by execute the select statement only, the length is ok to be inserted. However, when using the cursor, the length of the fields increase automatically, like aircraft type, it will increase to 4000.
This procedure was orginally in a 7.3.4 db and it is recompiled in a 9i db. Is there any tricky things in oracle 9i?
Click Here to Expand Forum to Full Width