ORACLE SQL FOR EACH ROW

Status
Nicht offen für weitere Antworten.

rambozola

Bekanntes Mitglied
Hi leute.

weiss jemand von euch was die Zeile FOR EACH ROW in einem Trigger bei Oracle bewirkt, ausser das es sich dann um einen Tupeltrigger handelt?

Wie kann ich mir das vorstellen?
Was ist der Unterschied zwischen einem Tabellentrigger und einem Tupeltrigger?
 

Bleiglanz

Gesperrter Benutzer
update footable set wertfueralle=42

=> ein tupeltrigger springt für jede zeile an, ein tabellentrigger nur EINMAL bei einem solchen befehl
 

rambozola

Bekanntes Mitglied
du meinst wenn es einen trigger gibt der die änderungen in der tabelle zählt dann würde ein tupeltrigger die anzahl der zeilen von footable als änderung zählen und ein tabellentrigger nur 1mal für die gesamte änderung von footable ?
 

Bleiglanz

Gesperrter Benutzer
Im Prinzip ja, aber was meinst du mit "Anzahl"? Der Trigger wird eben bei FOR EACH ROW genau "Anzahl der Änderungen" mal gefeuert.

The FOR EACH ROW option determines whether the trigger is a row trigger or a statement trigger. If you specify FOR EACH ROW, then the trigger fires once for each row of the table that is affected by the triggering statement. The absence of the FOR EACH ROW option indicates that the trigger fires only once for each applicable statement, but not separately for each row affected by the statement.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben