Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Understanding ORA-30625

411375Jun 18 2004 — edited Jun 18 2004
Hi everybody

I'd like to understand the ORA-30625 error that Oracle send while updating a table :

--
update mytable set id = id ;
--
returns : ORA-30625...

What's my mistake ?
Thanx.


Here is what I've created :
---------------------------------

TYPE : USRDTE

create or replace type UsrDte as object
(
-- Attributes
usr varchar2(30),
dte date ,

-- Member functions and procedures
member procedure ValDef

)
-----
create or replace type body UsrDte is

-- Member procedures and functions
member procedure ValDef is
begin
usr := user ;
dte := sysdate ;
end ValDef ;

end ;
------------------------------------

create or replace type T_COLSYS as object
(
-- Attributes
Creation UsrDte
, Modific UsrDte

-- Member functions and procedures
, member procedure OnInsert
, member procedure OnUpdate

)
---
create or replace type body T_COLSYS is

-- Member procedures and functions
member procedure OnInsert is
begin
Creation.valDef ;
end OnInsert ;

member procedure OnUpdate is
begin
Modific.ValDef ;
end OnUpdate ;

end;

------------------------------------

TABLE :
MyTable with column COLSYS of type T_COLSYS

------------------------------------

TRIGGER :
-- Trigger Before on Mytable
create or replace trigger MyTable_tb
before insert or update or delete
on MyTAble
for each row
declare
-- local variables here
begin

if inserting
then
:new.colsys.onInsert ;
elsif updating
then
:new.colsys.onUpdate ;
elsif deleting
then
null ;
end if;

end MyTable_tb;
---------------------------------------
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 16 2004
Added on Jun 18 2004
3 comments
343 views