Einfaches Beispiel für einen MySQL-Trigger Grammatik CREATE TRIGGER <Triggername> - Trigger müssen einen Namen mit maximal 64 Zeichen haben, gefolgt von Trennzeichen. Die Benennung ist ähnlich wie bei anderen Objekten in MySQL. { VORHER | NACHHER } – Der Auslöser verfügt über eine Einstellung für die Ausführungszeit: Er kann vor oder nach dem Auftreten des Ereignisses festgelegt werden. { INSERT | UPDATE | DELETE } – Sie können auch die auslösenden Ereignisse festlegen: Sie können während der Ausführung von Einfügen, Aktualisieren oder Löschen ausgelöst werden. ON <Tabellenname> --Der Trigger gehört zu einer bestimmten Tabelle: Wenn ein Einfüge-, Aktualisierungs- oder Löschvorgang für diese Tabelle ausgeführt wird, wird der Trigger aktiviert. Wir können nicht zwei Trigger demselben Ereignis für dieselbe Tabelle zuweisen. FOR EACH ROW – Ausführungsintervall des Triggers: Die Klausel FOR EACH ROW weist den Trigger an, die Aktion in jeder zweiten Zeile auszuführen, und nicht einmal für die gesamte Tabelle. < SQL-Anweisung auslösen > --Der Trigger enthält die auszulösende SQL-Anweisung: Die Anweisung hier kann jede zulässige Anweisung sein, einschließlich zusammengesetzter Anweisungen, aber für die Anweisungen hier gelten die gleichen Einschränkungen wie für Funktionen. --Zum Erstellen eines Triggers (CREATE TRIGGER) müssen Sie über entsprechende Berechtigungen verfügen. Wenn Sie bereits Root-Benutzer sind, reicht dies aus. Dies weicht vom SQL-Standard ab. Beispiele Beispiel 1: Tabelle tab1 erstellen Tabelle löschen, wenn vorhanden: tab1; Tabelle erstellen tab1( tab1_id varchar(11) ); Tabelle tab2 erstellen Tabelle löschen, wenn Tab2 vorhanden ist; TABELLE ERSTELLEN tab2( tab2_id varchar(11) ); Erstellen Sie einen Trigger: t_afterinsert_on_tab1 Funktion: Nach dem Hinzufügen von Datensätzen in der Tabelle tab1 werden die Datensätze automatisch zur Tabelle tab2 hinzugefügt TRIGGER LÖSCHEN, WENN EXISTIERT: t_afterinsert_on_tab1; TRIGGER ERSTELLEN t_afterinsert_on_tab1 NACH INSERT ON tab1 FÜR JEDE REIHE BEGINNEN in tab2(tab2_id) Werte(new.tab1_id) einfügen; ENDE; Testen Sie es INSERT INTO tab1(tab1_id) Werte('0001'); Sehen Sie sich die Ergebnisse an WÄHLEN SIE * AUS tab1; WÄHLEN SIE * VON Tab2; Beispiel 2: Trigger erstellen: t_afterdelete_on_tab1 Funktion: Nach dem Löschen der Datensätze in der Tabelle tab1 werden die entsprechenden Datensätze in der Tabelle tab2 automatisch gelöscht. TRIGGER LÖSCHEN, WENN EXISTIERT: t_afterdelete_on_tab1; TRIGGER ERSTELLEN t_afterdelete_on_tab1 NACH DEM LÖSCHEN AUF Tab1 FÜR JEDE REIHE BEGINNEN Löschen aus Tab2, wobei tab2_id = alt.tab1_id; ENDE; Testen Sie es LÖSCHEN AUS tab1, WO tab1_id='0001'; Sehen Sie sich die Ergebnisse an WÄHLEN SIE * AUS tab1; WÄHLEN SIE * VON Tab2; Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, danke für Ihre Unterstützung dieser Site! Das könnte Sie auch interessieren:
|
<<: So stellen Sie DoNetCore mit Nginx in der Alibaba Cloud bereit
>>: Detaillierte Erklärung der Nodejs-Array-Warteschlange und der forEach-Anwendung
1. Projektstruktur 2. Rufen Sie Tomcat.java auf P...
In diesem Artikel wird der spezifische Code von j...
Einfach ausgedrückt bedeutet src „Ich möchte dies...
Inhaltsverzeichnis Implementierungs-Effekt-Diagra...
Die ersten Computer konnten nur ASCII-Zeichen ver...
Es sind drei oder vier Monate vergangen, seit ich ...
Inhaltsverzeichnis Der erste Der Zweite Native Js...
Zunächst einmal wissen wir, dass dieser Effekt ei...
Verwendung der Zeitdifferenzfunktionen TIMESTAMPD...
Inhaltsverzeichnis 1. Was ist SVN? 2. Methoden zu...
Bei der Entwicklung von Webprojekten verweisen wi...
Problembeschreibung In unseren Projekten sind hor...
Als Tester müssen Sie während des Lernprozesses h...
Um eine virtuelle Maschine auf einem Windows-Syst...
Vorwort: In MySQL unterstützt das System viele Ze...