Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Insert LONG type to another table by trigger: Internal error

Re: Insert LONG type to another table by trigger: Internal error

From: Thomas Kyte <tkyte_at_oracle.com>
Date: 13 Mar 2002 15:51:33 -0800
Message-ID: <a6oom501hgn@drn.newsguy.com>


In article <a2bc9497.0203131524.1aa8eb12_at_posting.google.com>, yuanjeff_at_yahoo.com says...
>
>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:
>

please report the internal error to support -- however, I can tell you that longs are NOT accessible in triggers via :new at all:

http://technet.oracle.com/docs/products/oracle8i/doc_library/817_doc/appdev.817/a76939/adg13trg.htm#704

Also, in 8i -- using a LONG is a really bad idea, CLOBS are the type you should use.

>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.

--
Thomas Kyte (tkyte@us.oracle.com)             http://asktom.oracle.com/ 
Expert one on one Oracle, programming techniques and solutions for Oracle.
http://www.amazon.com/exec/obidos/ASIN/1861004826/  
Opinions are mine and do not necessarily reflect those of Oracle Corp 
Received on Wed Mar 13 2002 - 17:51:33 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US