Understanding ORA-30625
411375Jun 18 2004 — edited Jun 18 2004Hi 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;
---------------------------------------