10g: parallel DML trigger race conditions?

From: Frank Bergemann <FBergemann_at_web.de>
Date: Tue, 15 Feb 2011 22:34:59 -0800 (PST)
Message-ID: <07d66d92-bb76-4044-a44b-08c15d87c3bd_at_n1g2000yqm.googlegroups.com>



Hi,

are triggers executed in parallel for parallel DML? What happens, if the same record is updated _twice_ in a bulk update? Something like this:
forall i reloads.first..reloads.last

   update account set money = money + reloads(i).amount where account.id = reloads.acct_id;

Can it happen, that two "trigger before insert or update on account for each row" are executing in parallel for the same record?
- if acct_id = X is there multiple times in table reloads.

So they will find the same :old conditions. Or does oracle take care for sequential execution of trigger for same record?

  • thanks!

rgds,
Frank Received on Wed Feb 16 2011 - 00:34:59 CST

Original text of this message