Um autonome Transaktionen anzulegen, muss die Anweisung PL/SQL PRAGMA AUTONOMOUS_TRANSACTION auf der oberen Ebene eines anonymen Blocks oder im Vereinbarungsteil eines gespeicherten Verfahrens, einer Funktion, eines Pakets oder eines Steuerimpulsauslösers verwendet werden. Alle innerhalb eines solchen Blocks oder Verfahrens ausgeführten SQL-Serveranweisungen sind autonom.
Die Steuerimpulsauslöser können keine COMMIT-Anweisungen enthalten, sofern sie nicht mit PRAGMA AUTONOMOUS_TRANSACTION gekennzeichnet sind. Nur Anweisungen innerhalb des Steuerimpulsauslösers und nicht die Haupttransaktion werden festgeschrieben.
Die oben aufgeführten Codes zeigen die Anweisungen CREATE TABLE (Tabelle anlegen) und CREATE SEQUENCE (Sequenz anlegen) für eine einfache, jedoch flexible Fehlerprotokolltabelle.
Hier ist ein autonom gespeichertes Verfahren zur Aktualisierung der Fehlerprotokolltabelle zu sehen. Das Verfahren akzeptiert bis zu drei Ziffern- sowie drei Textargumente und speichert diese anschließend zusammen mit einem Zeitstempel und dem Anwender, der das Verfahren aufgerufen hat, in der Tabelle.
Im Rahmen der Prüfung des Verfahrens müssen einige Zeilen in einer Tabelle aktualisiert (UPDATE) oder gelöscht(DELETE) werden; dadurch wird die Haupttransaktion ausgelöst. Anschließend muss das gespeicherte Verfahren ausgeführt und müssen die zu protokollierenden Daten ausgewählt werden. Im Anschluss daran wird die Haupttransaktion wiederholt und die Fehlerprotokolltabelle ausgewählt (SELECT). Der Protokolleintrag ist immer noch vorhanden.
Neueste Kommentare
Noch keine Kommentare zu Autonome Transaktionen in Oracle: Protokoll-Einträge erhalten
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.