[Oracle 8i] Triggerausführung nach Transaktion?

Hallo Leute,

Kann ich irgendwie erreichen, dass ein Trigger erst ausgeführt wird wenn die komplette Transaktion committed ist? Also noch später als ein AFTER STATEMENT-Trigger?

Oder zumindest erreichen, dass der Trigger am Anfang blockiert bis die Transaktion committed ist und dann seine Ausführung fortsetzt?

Hintergrund ist, dass ich im Trigger andre Datensätze brauche die in seperaten Statements geschrieben werden, allerdings in derselben Transaktion.

Danke und Grüße, Robert

Hallo Robert,

ich will mal nich 100% ausschließem, daß das nicht geht, nur weil mir gerade nix einfällt, aber ich halte die Vorgehensweis für fragwürdig. So kann man mit Prozeduren in einer Applikation umgehen aber auf der Datenbank??? Trigger anhalten - neee das tut man nicht. Versuch doch mal das Problem von einer anderen Seite aus zu sehen. Vielleicht gibt es einen SQL-mäßigeren Lösungsweg. Vielleicht mit temporären Tabellen oder so.

Viel Erfolg
Nic

hi!

eine besondere schmutzige methode ist das arbeiten mit globalen variablen, die du beispielsweise in datenbankpackages (zurück)setzt - aber es sei äußerste vorsicht geboten!

den trigger stoppen würde ich nicht, sondern lediglich db-procedures ausführen lassen, die dann den gesamten, logischen ablauf übernehmen

grüße,
tomh

Danke …
… für eure Antworten. Wird wohl so werden, dass zuerst alle Datensätze in die Tabellen geschrieben werden und dann eine Stored Procedure aufgerufen wird die die Logik implementiert.

Danke und Grüße, Robert