Re: Trigger problem

From: Jagdeep Shiruru <jagdeep_at_cc.bellcore.com>
Date: 1996/06/11
Message-ID: <4pjskp$olk_at_athos.cc.bellcore.com>#1/1


In article <AMI26kn0Q0_at_softserv.msk.ru>, "Valery Yourinsky" <vsu_at_softserv.msk.ru> writes:
|>
|> jagdeep_at_cc.bellcore.com (Jagdeep Shiruru) wrote:
|>
|> > I have an oracle trigger that fires when an UPDATE takes place. The
|> >trigger body consists of the following:
|> >
|> >BEGIN
|> > IF UPDATING THEN
|> > Value = :new.value;
|> > END IF;
|> > DBMS_PIPE.PACK_MESSAGE(Value);
|> > n := DBMS_PIPE.SEND_MESSAGE('pipe_name');
|> >END
|> >
|> >...
|> >I do not get all the updated values at the receiver end of the pipe.
|> >Some values get lost in the pipe. I have tried to increase the pipe size,
|> >but to no avail.
|>
|> Is there 'FOR EACH ROW' in trigger header ?
|>
|> Valery
|>
|>
|>

Yes, there is a FOR EACH ROW, and the receiver function waits in a loop for messages to come from the DBMS_PIPE. When updates are done, one or two tuples retrieved are lost at the receiver end.

Jagdeep Received on Tue Jun 11 1996 - 00:00:00 CEST

Original text of this message