Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Insert LONG type to another table by trigger: Internal error
You can not use :new and :old with long data type columns in triggers.
This is one of the restriction of long data types. There are other ways to
copy long data type from one table to another :
1. SQL Copy 2. PL/SQL , it allows upto 32000 chars 3. JDBC program
regards,
santysharma
"Jeff Y. Y." <yuanjeff_at_yahoo.com> wrote in message
news:a2bc9497.0203131524.1aa8eb12_at_posting.google.com...
> I need to copy the data in a LONG type column of one table to a LONG
> type column of another table by a trigger. I have tried different ways
> in Oracle 8i without success. The code basically is:
>
> create or replace trigger UpdateFixer
> after INSERT OR UPDATE on t_prod for each row
> DECLARE
> t_rowid rowid;
> begin
> insert into t_fixer (id, document) values
> (:new.id, :new.document)
> returning rowid into t_rowid;
> -- do something else using t_rowid
> end;
>
> DOCUMENT is a long type in both tables. I got the following message:
>
> ERROR at line 1:
> ORA-00600: internal error code, arguments: [kdtlcdef-1], [], [], [],
> [], [], [], []
> ORA-06512: at "PRODDTA.UPDATEFIXER", line 6
> ORA-04088: error during execution of trigger 'PRODDTA.UPDATEFIXER'
>
> Is there a work around to make it work? Please help.
> Thank you so much.
Received on Wed Mar 13 2002 - 17:54:33 CST