Trigger ist eine spezielle Art von Transaktion, die bestimmte Datenvorgänge (Einfügen/Aktualisieren/Löschen) überwachen und zugehörige Vorgänge (Einfügen/Aktualisieren/Löschen) auslösen kann.
Sehen Sie sich die folgenden Ereignisse an:
Vervollständigen Sie die Logik, eine Bestellung aufzugeben und den Lagerbestand zu reduzieren
Einfügen in o (gid,num)-Werte (2,3); // Anweisung einfügen
Aktualisieren Sie g set waren_num = waren_num - 3, wobei id = 2; // Prozess aktualisieren
Diese beiden Logiken können als Ganzes betrachtet werden, oder mit anderen Worten: Einfügen ---> führt zu Aktualisierung
Die Verwendung von Triggern kann die oben genannten Probleme lösen.
Wir können Änderungen in einer bestimmten Tabelle überwachen und einen Vorgang auslösen, wenn eine bestimmte Änderung auftritt.
Syntax zum Erstellen ein Trigger
Trigger erstellen triggerName
Nach/vor dem Einfügen/Aktualisieren/Löschen des Tabellennamens
Für jede Zeile #Dieser Satz ist festgelegt
Anfang
SQL-Anweisung; # Ein oder mehrere Sätze im Rahmen von Einfügen/Aktualisieren/Löschen
Ende;
Syntax des Löschauslösers:
Trigger ablegen Triggername
Trigger anzeigen
Trigger anzeigen
So referenzieren Sie den Wert einer Zeile in einem Trigger
Beim Einfügen wird die neue Zeile durch new dargestellt, und der Wert jeder Spalte in der Zeile
wird durch new.column name dargestellt.
Beim Löschen gab es ursprünglich eine Zeile, die später gelöscht wurde.
Wenn Sie auf die gelöschte Zeile verweisen möchten, können Sie den Namen „Alt“ verwenden die gelöschte Zeile. Wert.
Für die Aktualisierung
die geänderte Zeile,
die Daten vor der Änderung, dargestellt durch den alten, alten Spaltennamen Der Wert in der Zeile vor der Änderung
Die geänderten Daten werden durch neu dargestellt. Der Spaltenname bezieht sich auf den Wert in der Zeile nach der Änderung
Der Unterschied zwischen After und Before in Triggern
After schließt das Hinzufügen, Löschen und Ändern von Daten vor dem Triggern ab.
Die ausgelöste Anweisung ist später als die Überwachung Das Hinzufügen, Löschen und Ändern kann sich nicht auf die vorherigen Aktionen zum Hinzufügen, Löschen und Ändern auswirken
Vorher wird der Auslöser zuerst abgeschlossen und dann hinzugefügt, gelöscht und geändert.
Die ausgelöste Anweisung geht der überwachten voraus. Wenn Hinzufügungen, Löschungen und Änderungen vorgenommen werden, haben wir die Möglichkeit, die bevorstehenden Vorgänge zu beurteilen und zu ändern.
Typischer Fall:
Wenn die Bestellmenge > 5 ist, handelt es sich um eine böswillige Bestellung.
Die Menge der bestellten Waren wird zwangsweise geändert bis 5
Überprüfen Sie, welche Auslöser sind: