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. Immobilienliste Code kopieren Der Code lautet w...
Inhaltsverzeichnis Vorwort Einzelne Dateikomponen...
1. Erste Schritte mit setUp Stellen Sie kurz die ...
1. Holen Sie sich das MySQL-Image Docker-Pull MyS...
Software- und Hardwareumgebung centos7.6.1810 64b...
Ich habe vor Kurzem in einer virtuellen VMware-Ma...
Inhaltsverzeichnis 1. Erstellen Sie eine gespeich...
1. Laden Sie das Installationspaket von der offiz...
Erste: Code kopieren Der Code lautet wie folgt: &l...
Ich habe gehört, dass es eine Interviewfrage gibt...
1. Laden Sie die JDK-Download-Adresse herunter我下載...
Die Verwendung der vue3 Teleport-Sofortbewegungsf...
Dies ist die Stilempfehlung der W3C-Organisation f...
<br />Struktur und Hierarchie reduzieren die...
Deaktivieren und Aktivieren von MySQL-Fremdschlüs...