Trigger: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 3: | Zeile 3: | ||
=Definition= | =Definition= | ||
In Datenbanken ist es neben der Speicherung und Abfrage von Daten auch möglich Logik selbst zu implementieren. Trigger gehören zum Bereich Logik und werden automatisch bei bestimmten Ereignissen, wie | In Datenbanken ist es neben der Speicherung und Abfrage von Daten auch möglich Logik selbst zu implementieren. Trigger gehören zum Bereich Logik und werden automatisch bei bestimmten Ereignissen, wie UPDATE, INSERT oder DELETE von Daten, ausgelöst. | ||
Zeile 11: | Zeile 11: | ||
- Bestimmte Hinweise oder Vorgänge anzeigen bzw. auszuführen | - Bestimmte Hinweise oder Vorgänge anzeigen bzw. auszuführen | ||
=Implementierung von Triggern= | =Implementierung von Triggern: Syntax= | ||
CREATE TRIGGER trigger-name | |||
[BEFORE | AFTER] [ INSERT | DELETE | UPDATE [OR ...] ] | |||
ON table-name FOR EACH ROW | |||
EXECUTE PROCEDURE function-name [(args)]; | |||
=Beispiele= | =Beispiele= | ||
Zeile 29: | Zeile 31: | ||
[[Kategorie:PostgreSQL]] | |||
[[Kategorie:SQL]] | [[Kategorie:SQL]] | ||
[[Kategorie:Glossar]] | [[Kategorie:Glossar]] | ||
[[Kategorie:GlossarWiki]] | [[Kategorie:GlossarWiki]] |
Version vom 10. Juli 2009, 09:26 Uhr
Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.
Definition
In Datenbanken ist es neben der Speicherung und Abfrage von Daten auch möglich Logik selbst zu implementieren. Trigger gehören zum Bereich Logik und werden automatisch bei bestimmten Ereignissen, wie UPDATE, INSERT oder DELETE von Daten, ausgelöst.
Vorteile
- Oft ist es notwendig, bei einer Löschung eines Kunden oder Users weitere Löschvorgänge auszuführen, die möglicherweise noch im System verbleiben könnten. - Protokollerstellung bei einem Löschvorgang - Bestimmte Hinweise oder Vorgänge anzeigen bzw. auszuführen
Implementierung von Triggern: Syntax
CREATE TRIGGER trigger-name [BEFORE | AFTER] [ INSERT | DELETE | UPDATE [OR ...] ] ON table-name FOR EACH ROW EXECUTE PROCEDURE function-name [(args)];
Beispiele
Automatisches Füllen von Datenbankfelder
Automatischen INSERT anhand einer bestimmten Anzahl
Auflistung der Beispiele mit Code