Trigger-Reihenfolge?

Moin!
Kann mir einer kurz erklären in welcher Reihenfolge
Trigger gefeuert werden.
Beispiel:
Ich habe einen Before-Update-Trigger und einen
After-Update-Trigger.

Jetzt wird von zwei unterschiedlichen Stellen aus ein
Update vorgenommen. Ala Sesamstrasse: Was passiert dann?
Was passiert mit einer Globalen Variablen, die im Before-
incrementiert und im After-Update-Trigger decrementiert bzw.
zurückgesetzt wird.

Es geht dabei immer noch um meine Mutating Tables. :smile:=

TNX
Jones

-)=

Moin,

Ich habe einen Before-Update-Trigger und einen
After-Update-Trigger.

Das ist ganz simpel: zuerst der Before-Update-Trigger. Dann wird geupdatet. Dann der After-Update-Trigger.
Hast Du die FOR EACH ROW-Klausel mit angegeben, dann feuert der Trigger so oft, wie Zeilen verändert werden; ansonsten nur einmal am Anfang und am Ende der gesamten Operation.

Jetzt wird von zwei unterschiedlichen Stellen aus ein
Update vorgenommen.

Das muß Dich nicht kümmern. Transaktion B sieht nur committete Daten, d.h. wenn sie beide auf den gleichen Datensatz gehen, wartet B auf A. Ansonsten sind sie voneinander unabhängig.

Was passiert mit einer Globalen Variablen, die im Before-
incrementiert und im After-Update-Trigger decrementiert bzw.
zurückgesetzt wird.

Was meinst Du mit einer globalen Variable? Es gibt keine. Es gibt nur kontextglobale Variablen (Package-Variablen), d.h. sie sind FÜR EINE SESSION global. Das würde bedeuten, daß Transaktion A und Tr. B unterschiedliche Versionen der Variable sehen. Willst Du Daten über Sessions hinweg sichtbar machen, so mußt Du sie irgendwo speichern (tabellenmäßig), und das ist dann transaktionsgesichert => s.o.

Es geht dabei immer noch um meine Mutating Tables. :smile:=

Was war noch damit?

gruß

J.

Hi José!

Weiter unten im Forum hab ich 'ne Lösung zum Mutating Table-Prob
bekommen. Leuchtete auch soweit ein.
Dort werden Package-Variablen eingesetzt. Daher meine Frage.
Deine Ausführungen haben dann auch zur Klärung beigetragen. TNX

Wie sieht die Reihenfolge denn bei 2 Updates von einer Session
aus? Before_Update_1, After_Update_1, Before_Update2, After_Update_2 ?

-)=

Jones

Hi,

Wie sieht die Reihenfolge denn bei 2 Updates von einer Session
aus? Before_Update_1, After_Update_1, Before_Update2,
After_Update_2 ?

Genau so. Allerdings mußt Du berücksichtigen, daß die Reihenfolge innerhalb einer Menge nicht definiert ist. Müßte aber für Deine Mutanten irrelevant sein :smile:

Gruß

J.

Trigger-Reihenfolge: Danke!
Hat ein bisschen Licht in’s Dunkel gebracht.

Danke!

Jones

-)=