| Error : Invalid ROWID [message #336824] |
Tue, 29 July 2008 02:39  |
user71408
Messages: 585 Registered: November 2007 Location: NE
|
Senior Member |
|
|
Hi When I am executing the Statement I am getting the folowing error. Please let me know why am getting this error and please give me idea to resolve this.
Prog_1~20080729061847~process~~-1410~ORA-01410: invalid ROWID~INTERNAL STORED FUNCTION ERROR: function=COST_EXTRACT_SQL.UPDATE_COSTS, error=UPDATE in package COST_EXTRACT_SQL.PROCESS_COST_CHANGE , cost_chg=12345
Prog_1~20080729062650~process~~-1410~ORA-01410: invalid ROWID~INTERNAL STORED FUNCTION ERROR: function=COST_EXTRACT_SQL.UPDATE_COSTS, error=UPDATE in package COST_EXTRACT_SQL.PROCESS_COST_CHANGE , cost_chg=12345
prog_1~20080729080247~process~~-1410~ORA-01410: invalid ROWID~INTERNAL STORED FUNCTION ERROR: function=COST_EXTRACT_SQL.UPDATE_COSTS, error=UPDATE in package COST_EXTRACT_SQL.PROCESS_COST_CHANGE , cost_chg=12345
Thank you
|
|
|
|
|
|
|
|
| Re: Error : Invalid ROWID [message #337106 is a reply to message #337077] |
Tue, 29 July 2008 22:40   |
Frank
Messages: 7901 Registered: March 2000
|
Senior Member |
|
|
If I remember correctly, this error is also generated if you select the rowid from table A and try to use it in the where-clause for table B.
Edit: Tested.
SQL> declare
2 cursor c
3 is
4 select rowid as the_rowid
5 from emp
6 ;
7 begin
8 for r in c
9 loop
10 update dept
11 set deptno = 10
12 where rowid = r.the_rowid;
13 end loop;
14 end;
15 /
declare
*
ERROR at line 1:
ORA-01410: invalid ROWID
ORA-06512: at line 10
Another possibility (although related):
SQL> declare
2 cursor c
3 is
4 select *
5 from emp
6 for update;
7 begin
8 for r in c
9 loop
10 update dept
11 set deptno = 10
12 where current of c;
13 end loop;
14 end;
15 /
declare
*
ERROR at line 1:
ORA-01410: invalid ROWID
ORA-06512: at line 10
These could explain why op gets it while updating.
[Updated on: Tue, 29 July 2008 22:52] Report message to a moderator
|
|
|
|
| Re: Error : Invalid ROWID [message #337135 is a reply to message #337077] |
Wed, 30 July 2008 01:00   |
 |
Michel Cadot
Messages: 68776 Registered: March 2007 Location: Saint-Maur, France, https...
|
Senior Member Account Moderator |
|
|
| Kevin Meade | existence of the rowid does not matter. Using the rowid of a no longer existing row does not cause this error.
|
Are you sure?
SQL> create table a (a number);
Table created.
SQL> insert into a values (1);
1 row created.
SQL> commit;
Commit complete.
SQL> declare
2 vrowid rowid;
3 va number;
4 begin
5 select rowid into vrowid from a where a = 1;
6 execute immediate 'truncate table a';
7 select a into va from a where rowid = vrowid;
8 end;
9 /
declare
*
ERROR at line 1:
ORA-01410: invalid ROWID
ORA-06512: at line 7
Regards
Michel
[Updated on: Wed, 30 July 2008 01:02] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|