Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Updating by RowId when alread has fetched the row....
Small note (May not be a problem but just wanted to show).
create table x(a number);
insert into x values(1);
from session 1
declare
v1 rowid;
begin
select rowid into v1 from x;
dbms_lock.sleep(20);
update x set a=100 where rowid=v1;
end;
/
from session 2 - After 5 secs of starting the above in session 1 alter table x move tablespace users;
Session 1 error
ERROR at line 1:
ORA-01410: invalid ROWID
ORA-06512: at line 6
Even worse you may update a wrong row.
May want to convert that select rowid into v1 from x into a select
rowid into v1 from x for update.
regards
Srivenu
Received on Fri Mar 05 2004 - 05:53:21 CST