Heim  >  Artikel  >  Datenbank  >  Ausführliche Erläuterung der Verwendung des MySQL-Löschtriggers (Löschen).

Ausführliche Erläuterung der Verwendung des MySQL-Löschtriggers (Löschen).

巴扎黑
巴扎黑Original
2017-05-19 15:24:0123896Durchsuche

DELETE-Trigger

Trigger ist eine Methode, die Programmierern und Datenanalysten vom SQL-Server zur Verfügung gestellt wird, um die Datenintegrität sicherzustellen. Es handelt sich um eine spezielle gespeicherte Prozedur im Zusammenhang mit Tabellen Seine Ausführung wird nicht von einem Programm aufgerufen oder manuell gestartet, sondern wird beispielsweise durch die Ausführung einer Tabelle aktiviert. Trigger werden häufig verwendet, um Datenintegritätseinschränkungen und Geschäftsregeln durchzusetzen. Trigger finden Sie in den Datenwörterbüchern DBA_TRIGGERS und USER_TRIGGERS. Ein SQL3-Trigger ist eine Anweisung, die vom System automatisch ausgeführt werden kann, um die Datenbank zu ändern.

Empfohlene verwandte MySQL-Video-Tutorials: „MySQL-Tutorial

Trigger können andere Tabellen abfragen und komplexe SQL-Anweisungen enthalten. Sie dienen in erster Linie dazu, die Einhaltung komplexer Geschäftsregeln oder -anforderungen durchzusetzen. Beispiel: Sie können anhand des aktuellen Kontostatus des Kunden steuern, ob neue Bestellungen eingegeben werden dürfen.

Der DELETE-Trigger wird vor oder nach der Ausführung der DELETE-Anweisung ausgeführt. Sie müssen die folgenden zwei Punkte kennen:

1. Innerhalb des DELETE-Triggercodes können Sie auf eine virtuelle Tabelle mit dem Namen OLD verweisen, um auf die gelöschten Zeilen zuzugreifen;

2 . Alle Werte in OLD sind schreibgeschützt und können nicht aktualisiert werden. Das folgende Beispiel zeigt die Verwendung von OLD zum Speichern von zu löschenden Zeilen in einer Archivtabelle:

Eingabe:

create trigger deleteorder before delete on orders for each row
begin
insert into archive_orders(order_num,order_date,cust_id)
values(old.order_num,old.order_date,old.cust_id);
end;

Analyse: Dieser Trigger wird ausgeführt, bevor eine Bestellung gelöscht wird. Es verwendet eine INSERT-Anweisung, um die Werte in OLD (die zu löschenden Bestellungen) in einer Archivtabelle namens archive_orders zu speichern (um dieses Beispiel tatsächlich zu verwenden, müssen Sie eine Tabelle namens archive_orders mit denselben Spalten wie Bestellungen erstellen).

Der Vorteil der Verwendung des BEFORE DELETE-Triggers (im Gegensatz zum AFTER DELETE-Trigger) besteht darin, dass, wenn die Bestellung aus irgendeinem Grund nicht archiviert werden kann, das DELETE selbst abgebrochen wird.

Trigger mit mehreren Anweisungen Wie Sie sehen können, verwendet der Trigger-Löschauftrag BEGIN- und END-Anweisungen, um den Triggerkörper zu markieren. Dies ist in diesem Beispiel nicht notwendig, schadet aber nicht. Der Vorteil der Verwendung des BEGIN END-Blocks besteht darin, dass der Trigger mehrere SQL-Anweisungen aufnehmen kann (eine neben einer im BEGIN END-Block).

[Verwandte Empfehlungen]

1. MySQL kostenloses Video-Tutorial

2. Detaillierte Erklärung des Einfügetriggers (Einfügen) in MySQL

3. Einführung in MySQL-Trigger und wie man Trigger erstellt und löscht

4. Tutorial zur Verwendung von Zeichensätzen und Sortierreihenfolge für MySQL

5. Einführung in den MySQL-Zeichensatz und die Sortierreihenfolge

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung des MySQL-Löschtriggers (Löschen).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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