Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Complex Integrity Checking
Waleed,
The chapter on Autonomous transactions demonstrates how to give the child transaction the ability to see uncommitted changes made by the parent transaction.
Regards,
Tony Aponte
-----Original Message-----
Sent: Wednesday, June 05, 2002 9:03 PM
To: Multiple recipients of list ORACLE-L
The problem with this solution is the Autonomous Transactions will not be able to see any changes done within the current transaction only the committed one. So no way to enforce business logic during the context of the transaction.
This is why I asked before how frequently commit happens.
Regards,
Waleed
-----Original Message-----
Sent: Wednesday, June 05, 2002 6:33 PM
To: Multiple recipients of list ORACLE-L
With the introduction of Autonomous Transactions this is no longer entirely true. If you call an autonomous transaction procedure, it is executed in a separate transaction context. This gives you the ability to probe the mutating table without inducing the error. A good explanation can be found in Tom Kyte's Export One-on-one Oracle book in the chapter on Autonomous Transactions.
HTH
Tony Aponte
-----Original Message-----
Sent: Wednesday, June 05, 2002 9:24 AM
To: Multiple recipients of list ORACLE-L
no matter what you do, if you access table A inside a trigger on table A, oracle will give you mutating table error. What you could (and I really mean you have to consider your business logic here) is go ahead and insert the rows with a temp flag. As soon as you commit, fire up a procedure that will do the scan on the table and delete appropriate rows which have the temp status.
BTW how big is this table? What is the frequency of inserts and updates?
Raj
QOTD: Any clod can have facts, but having an opinion is an art!
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Aponte, Tony INET: AponteT_at_hsn.net Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing ListsReceived on Thu Jun 06 2002 - 10:43:23 CDT
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).