UPDATE-Trigger
UPDATE-Trigger wird vor oder nach der Ausführung der UPDATE-Anweisung ausgeführt. Sie müssen die folgenden Punkte kennen:
1. Im UPDATE-Triggercode können Sie auf eine virtuelle Tabelle mit dem Namen OLD verweisen, um auf den vorherigen Wert (vor der UPDATE-Anweisung) zuzugreifen auf einen Namen. Zugriff auf den neu aktualisierten Wert für die virtuelle Tabelle von NEW.
Die Werte in 3.OLD sind alle schreibgeschützt und können nicht aktualisiert werden.
Das folgende Beispiel stellt sicher, dass Staatsabkürzungen immer in Großbuchstaben geschrieben sind (unabhängig davon, ob in der UPDATE-Anweisung Groß- oder Kleinbuchstaben angegeben werden):
Eingabe:
Analyse: Offensichtlich muss jede Datenbereinigung vor der UPDATE-Anweisung erfolgen, wie in diesem Beispiel. Jedes Mal, wenn eine Zeile aktualisiert wird, wird der Wert in NEW.vend_state (der Wert, der zum Aktualisieren der Tabellenzeile verwendet wird) durch Upper(NEW.vend_state) ersetzt.create trigger updatevendor before update on vends for each row set new.vend_state = upper(new.vend_state);
Bevor wir dieses Kapitel beenden, werden wir noch etwas mehr über die Verwendung von Triggern vorstellen Wichtige Punkte, die Sie bei der Verwendung des Geräts beachten sollten.
1. Im Vergleich zu anderen DBMS sind die in MySQL 5 unterstützten Trigger recht rudimentär. Es gibt Pläne, die Trigger-Unterstützung in zukünftigen MySQL-Versionen zu verbessern und zu erweitern.
2. Das Erstellen von Triggern erfordert möglicherweise einen besonderen Sicherheitszugriff, die Triggerausführung erfolgt jedoch automatisch. Wenn die INSERT-, UPDATE- oder DELETE-Anweisung ausgeführt werden kann, kann auch der zugehörige Trigger ausgeführt werden.
3. Trigger sollten verwendet werden, um die Datenkonsistenz (Groß- und Kleinschreibung, Format usw.) sicherzustellen. Der Vorteil dieser Art der Verarbeitung in einem Trigger besteht darin, dass sie unabhängig von der Clientanwendung immer auftritt und transparent ausgeführt wird.
4. Eine sehr sinnvolle Verwendung von Triggern ist die Erstellung von Prüfprotokollen. Mithilfe von Triggern ist es sehr einfach, Änderungen (und bei Bedarf sogar vor und nach dem Status) in einer anderen Tabelle zu protokollieren.
5. Leider wird die CALL-Anweisung in MySQL-Triggern nicht unterstützt. Dies bedeutet, dass gespeicherte Prozeduren nicht aus Triggern heraus aufgerufen werden können. Der erforderliche gespeicherte Prozedurcode muss in den Trigger kopiert werden.
[Verwandte Empfehlungen]
1.
MySQL kostenloses Video-Tutorial2. Detaillierte Erklärung der Verwendung des MySQL-Löschtriggers (Löschen)
3. Detaillierte Erläuterung des Einfügetriggers (Einfügen) in MySQL
4. Einführung in MySQL-Trigger und wie man Trigger erstellt und löscht
5. Tutorial zum MySQL-Zeichensatz und zur Korrekturlesereihenfolge
Das obige ist der detaillierte Inhalt vonMySQL UPDATE-Trigger (Update) und Auslöser einer eingehenden Analyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!