Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Forms 3.0 and Oracle 8i (8.1.7) ( Invalid Rowid)
moron.jean-luc_at_rcc.ch (Moron) writes:
> > After insert or update of a record, we get an error
> > :FRM-40501 / ORA-01410: invalid Rowid as soon as the record has
> > been commited in the DB if we try to modify it again.
> > PL SQL: any statement like " insert into table A() select ()
> > from table B where Rowid = :My_block.rowid" raises exactly
> > the same SQL error.
>
> Has somebody got the same troubles ?
> Is there any other patch or workaroud ?
Propably there is no patch and reason for this is that rowid format changed between server version 7 and 8.
One workaround would be to change :my_block.rowid datatype from rowid to
varchar2(18) and then apply data type conversion functions to every sql
statement in this manner
select a,rowid from table into :my_block.a, :my_block.rowid ;
becames
select a,rowidtochar(rowid) from table into :my_block.a, :my_block.rowid ;
and
insert into table A() select () from table B where Rowid = :My_block.rowid
would became
insert into table A() select () from table B where Rowid =
chartorowid(:My_block.rowid)
and propably will not work if forms fetches these rowid values into data blocks that are "base table" data blocks.
and I've never seen forms3 so all this is only guessing.
-- Antti Järvinen, costello_at_iki.fi "concerto for two faggots and orchestra"Received on Fri Apr 25 2003 - 05:53:55 CDT
![]() |
![]() |