Re: ora-04091, updating same table in trigger
Date: Wed, 22 Apr 2009 12:53:41 -0600
Upon further reflection, you are correct.
I should have stated a slight difference. I have INSTEAD_OF triggers on views, which need to commit data in several tables (and in a few cases, against other views - UGLY), which in turn have triggers on them as well. The regular 'table' triggers don't have the commits, but the view triggers do.
On Wed, Apr 22, 2009 at 8:17 AM, Igor Neyman <ineyman_at_perceptron.com> wrote:
> I'm pretty sure, you are mistaken.
> You can not " 'COMMIT' statements inside the trigger".
> And "PRAGMA AUTONOMOUS_TRANSACTION;" you used not "In the trigger itself", but in the stored procedure you called from the trigger.
> Igor Neyman
> -----Original Message-----
> From: oracle-l-bounce_at_freelists.org on behalf of Bill Ferguson
> Sent: Wed 4/22/2009 8:38 AM
> To: Harvinder_Singh_at_picis.com; Oracle-L Freelists
> Subject: Re: ora-04091, updating same table in trigger
> I've had to deal with that issue as well.
> In my database, my workaround was taking some of the logic out of the
> trigger and creating procedures that get called from the trigger.
> In the trigger itself, I have to use the "PRAGMA
> AUTONOMOUS_TRANSACTION;" declaration, and use several 'COMMIT'
> statements inside the trigger, like before the calls to the
> procedures, at the end of the trigger, etc. It took a bit of
> experimentation, but I finally got it all figured out and working
> This is on 126.96.36.199 on Windows Server 2003, so I'm not sure if this
> will work the same on other/previous versions or O/S's.
> Hope this helps.
> -- Bill Ferguson
-- -- Bill Ferguson -- http://www.freelists.org/webpage/oracle-lReceived on Wed Apr 22 2009 - 13:53:41 CDT