| Snippets
Code Snippets
Open Object Database
Open Object Catalog
Was ist die Open Object Database?
Open Object Namenskonvention
Technik
C# / .NET
SOA
Pentaho
JBoss
AJAX
PHP Klassen
Java Tutorials
MySQL - Replikation
MySQL 5 - Datenbank
Internet Provider
Suchmaschinen Optimierung
Bereiche
News
Projekte
Links
Kommunikation
Weblog / Blog
Glossar
LAMP
PHP
XAMPP
Fragen, Kritik oder Kommentare? Dann schreib einfach eine Email an alex[at]bitroom.de
|
MySQL 5 TriggerDatenbank Trigger sind dann nützlich, wenn befor oder nach einer Datenmanipulation Prozesse angestoßen werden sollen. MySQL unterstützt Trigger seit der Version 5.Syntax
CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
trigger_time = BEFORE oder AFTERsagt aus ob der Trigger vor oder nach dem trigger_event ausgeführt werden soll. trigger_event = INSERT oder UPDATE oder DELETE. INSERT beinhaltet auch LOAD DATA und REPLACE, also alle Aktionen, die neue Daten in eine Tabelle einfügen) Jede Kombination von trigger_time mit trigger_event kann pro Tabelle nur einmal vorkommen! trigger_stmt = Das auszuführende Statement. Wenn mehr als ein Statement ausgeführt werden sollen, dann müssen diese in BEGIN END eingeschlosen sein. Die Statements innerhalb dieses BEGIN END entsprechen denen von Stored Procedures. Innerhalb der Statements kann mit den Prefix NEW und OLD auf Felder der zu veränderten Spalte zugegriffen werden. Wobei NEW den Inhalt des Feldes liefert, den es nach der Manipulation erhalten wird und OLD entsprechend den Wert des Feldes vor der Manipulation. MySQL Trigger Beispiel 1 CREATE TRIGGER set_uuid BEFORE INSERT ON `mytable` FOR EACH ROW BEGIN SET NEW.guid = UUID(); END MySQL Trigger Beispiel 2 CREATE TRIGGER update_zahlung_status AFTER INSERT ON 'tbl_Zahlungseingang' FOR EACH ROW BEGIN UPDATE tbl_Mahnung SET verschicken=0 WHERE zahlungseingang_id=NEW.id; UPDATE tbl_Rechnung SET bezahlt=1 WHERE zahlungseingang_id=NEW.id END Einsatz von TRIGGERN Durch die Verwendung solcher Trigger in Verbindung mit Stored Procedures kann ein Teil der Logik in die Datenbank ausgelagert werden. Dies macht vor allem dann Sinn, wenn die selbe Datenbank von unterschiedlichen Applikationen genutzt wird. Änderungen an der Logik können dann zentral in der Datenbank durch Änderung oder Ergänzung von Triggern / Stored Procedures vorgenommen werden, anstatt jede Applikation um entsprechende Funktionen zu erweitern. |
New Objects in Database
Code Samples
CSharp
C# Datenbank
C# DataSet
C# HTML Editor
C# Tips & Tricks
LAMP/LAMPS Links
XAMPP
Apache Webserver
PHP Download
MySQL Datenbank
OpenSSL
ModSSL
LAMPS Tutorial
IT - News
Golem
Heise Verlag
Fun Stuff
Autsch
Lustige Stories
Hackfressen
|
||
| (c)2005 bitroom | ||||