Heim  >  Artikel  >  Datenbank  >  Erweiterte MySQL-Trigger

Erweiterte MySQL-Trigger

高洛峰
高洛峰Original
2016-12-02 13:51:17940Durchsuche

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.

Erweiterte MySQL-Trigger

Sehen Sie sich die folgenden Ereignisse an:

Erweiterte MySQL-Trigger

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.

Erweiterte MySQL-Trigger

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

Erweiterte MySQL-Trigger

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

Erweiterte MySQL-Trigger

Erweiterte MySQL-Trigger

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

Erweiterte MySQL-TriggerÜberprüfen Sie, welche Auslöser sind:

Erweiterte MySQL-Trigger

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Erweiterter MySQL-IndexNächster Artikel:Erweiterter MySQL-Index