Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Trigger problem
Hi everyone,
I try to write trigger on Oracle 8.1.7. The trigger on table A should delete
records on table B only when table A doesn't contain any records with
special ID.
For example:
CREATE OR REPLACE TRIGGER "myTrigger" AFTER
DELETE
ON "myTable"
FOR EACH ROW
declare cnt number;
begin
select count(distinct id) into cnt from myTable where myColumn = :new.myColumn;
if (cnt=0) then
delete from table B where .....
end if;
end;
Unfortunatelly, I get an error "table is mutating, trigger may not see it..
" which is obvious for me, because trigger tries to count records from table
on which it is based.
Is there any way to solve that problem? How to write this "conditional"
trigger? The trigger must be "for each row".
Regards,
remg
Received on Thu Mar 03 2005 - 07:16:56 CST