Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Trigger problem

Trigger problem

From: remg <remq75_at_wp.pl>
Date: Thu, 3 Mar 2005 14:16:56 +0100
Message-ID: <d0730g$5h4$1@nemesis.news.tpi.pl>


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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US