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 -> Re: Asynchronous trigger processing in Oracle

Re: Asynchronous trigger processing in Oracle

From: John <dosxx80501_at_hotmail.com>
Date: 9 Jul 2004 08:53:10 -0700
Message-ID: <ab99b88d.0407090753.57e24ba4@posting.google.com>


The trigger will continue to fire for subsequent inserts without blocking unless you explicitly devleop locking logic around it (have the trigger select for update or use dbms_lock). I think you might want to look at Oracle Advanced Queuing. your trigger could insert into an Oracle Queue table and then another process could process the rows in a first in first out order.

John

idebeinder_at_tut.by (Alex Voitik) wrote in message news:<8d0f28f3.0407090240.7530ddb7_at_posting.google.com>...
> Hi,
>
> could anyone explain how Oracle executes triggers,
> namely if a trigger is fired in asynchronous mode
> or not? Maybe it is tuneable?
>
> For example, there is a trigger defined as
>
> CREATE OR REPLACE TRIGGER Convert_Transaction
> AFTER INSERT OR UPDATE ON TB_TRANSACTIONS
> FOR EACH ROW
> BEGIN
> --
> --code which may be time-consumimg
> --
> END;
>
> This is the only trigger defined for the table.
>
> Will Oracle allow inserts in the table
> TB_TRANSACTIONS if the processing of trigger
> from the previous INSERT is not finished?
> If so, will the trigger for this new INSERT
> be fired?
>
> The behaviour i need is to allow inserts while
> processing the previous "after insert" trigger,
> but to block trigger execution if another trigger
> is still executing, i.e. to make a queue of triggers
> waiting their time to fire.
>
> Can Oracle provide such behaviour with triggers?
> Maybe i should look for another solution?
>
> Thanks for the help!
Received on Fri Jul 09 2004 - 10:53:10 CDT

Original text of this message

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