PRAGMA-AUTONOMOUS-TRANSACTION

Eine Transaktion in einer Oracle-PL/SQL-Prozedur/Funktion oder einem Oracle-Trigger kann auf den Status PRAGMA-AUTONOMOUS-TRANSACTION gesetzt werden und heißt dann autonome Transaktion. Autonome Transaktionen laufen innerhalb einer Haupttransaktion eigenständig ab, d.h., die Haupttransaktion wird so lange gestoppt und läuft erst weiter, wenn die autonome Transaktion abgeschlossen ist. Daher ist in Triggern mit einer autonomen Transaktion auch ein COMMIT möglich. Autonome Transaktionen werden oft zur Fehlerbehandlung genutzt oder wenn in einer startenden Transaktion eine unabhängige Transaktion erforderlich ist, um Änderungen festzuschreiben oder zurückzurollen, ohne das Ergebnis der startenden Transaktion zu beeinflussen.

Ein Beispiel und Anwendungsmöglichkeiten finden Sie hier: http://www.muniqsoft.de/tipps/tipps-zu-plsql/plsql-allgemein/autonome-transaktionen5bea.pdf?type=123

Quellen:

  • Faeskorn-Woyke, Heide; Bertelsmeier, Birgit; Riemer, Petra; Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
  • Feuerstein, Steven, Pribyl. Bill: "Oracle PL/SQL Programming", O'Reilly, 2009, ISBN-13: 978-0596514464
  • Oracle® Database SQL Language Reference 11g Release 1 (11.1) in http://docs.oracle.com/cd/B28359_01/server.111/b28286/toc.htm
  • Oracle® Database PL/SQL Language Reference 11g Release 2 (11.2) in http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/toc.htm
  • Saurabh, Gupta: "Oracle Advanced PL/SQL Developer Professional Guide", Packt Publishing Limited, 2012, ISBN 978-1-84968-722-5

Kategorien: Oracle-PL-SQL, Transaktionen, P A