Daten können in Informationen umgewandelt werdenbenötigt mit einer Datenbank. Zu Beginn bestehen die Daten aus einer Sammlung von Variablen, die mithilfe verschiedener Ausführungsbefehle in Informationen umgewandelt werden. Auf diese Weise ist eine Datenbankverwaltung erforderlich, um die Daten zu speichern, bis die Ausführung der Daten abgeschlossen ist.

Derzeit sind die meisten Datenbankverwaltungssystemebeliebt ist MySQL. Viele Gründe, warum viele Benutzer MySQL verwenden, von denen einer fast von einer Vielzahl der heute verfügbaren MySQL-Programmiersprachen unterstützt wird.

In MySQL wird eine Datenbank mit erstelltNutzung von Tischeinrichtungen. Neben Tabellen ist MySQL auch mit einer der Triggerfunktionen ausgestattet. Wissen Sie dann, was unter Auslöser zu verstehen ist? Der Begriff Trigger ist möglicherweise noch nicht zu hören. Trigger werden jedoch zu einer Sammlung von Befehlen, die ausgeführt werden, wenn verschiedene Operationen in der Tabelle ausgeführt werden.

In diesem Artikel werden wir darüber erklärenVerständnis von Triggern, Triggerfunktionen und einigen Beispielen für die Anwendung von Triggern in MySQL. Auf diese Weise werden Sie sich der Diskussion der Auslöser im Detail bewusster. Als nächstes folgt die erste Diskussion über die Definition des Triggers.

Trigger verstehen

Verständnis von Triggern und Triggerfunktionen

Im DBMS (Datenbankverwaltungssystem), Trigger ist eine Sammlung von Skripten, dieBezogen auf Tabellen, Ansichten oder Schemata, die automatisch ausgeführt werden, wenn Ereignisse ausgeführt werden. Das Ereignis umfasst Vorgänge, die normalerweise bei der Verarbeitung der Datenbank ausgeführt werden, z.

  • DML (Data Manipulation Language), die DELETE, INSERT oder UPDATE enthält
  • DDL (Data Definition Language), die CREATE, ALTER oder DROP enthält
  • Andere Datenbankoperationen wie SERVERERROR, LOGON, LOGOFF, STARTUP oder SHUTDOWN)

Einfach ausgedrückt lautet der Befehl zum Erstellen eines Triggers wie folgt:

TRIGGER ERSTELLEN nama_trigger [VOR | NACH]
[INSERT / UPDATE / DELETE]
ON nama_table
FÜR JEDE REIHE
BEGINNEN
// Körper auslösen
ENDE;

Eine Beschreibung der allgemeinen Befehlsform beim Erstellen eines Triggers, nämlich:

  • nama_trigger: Der Name des Triggers, der gemäß den Namensmerkmalen in MySQL erstellt wurde
  • [BEFORE | AFTER]: Zeigt die Zeit an, zu der der Trigger automatisch ausgeführt wird, unabhängig davon, ob vor oder nach Änderungen an der Zeilendatentabelle. Die Wahl ist also NACH oder VOR.
  • [EINFÜGEN | UPDATE | DELETE]: Wird verwendet, um das Ereignis zu bestimmen, das den Trigger verursacht hat. Die Auswahl des Ereignisses besteht aus INSER, UPDATE und DELETE.
  • nama_table: Gibt die Tabelle an, die der Trigger darin ausführen wird
  • trigger_body: Zeigt die Befehlsanweisung in MySQL an, die automatisch ausgeführt wird, wenn das Ereignis aktiv ist.

Im Allgemeinen ist die inEin Trigger ist nur ein Befehl. Wenn Sie jedoch mehrere Befehle darin erstellen möchten, verwenden Sie den Befehl im Block BEGIN ... END. Die Verwendung von Triggern erfolgt, wenn Änderungen in der Datensatztabelle auftreten. Auf diese Weise müssen Sie dem Datensatz einen Verweis hinzufügen, nämlich ALT und NEU. OLD gibt einen Referenzdatensatz an, bevor eine Änderung auftritt, während OLD eine Referenz angibt, nachdem eine Änderung vorgenommen wurde.

Triggerfunktion

Triggerfunktion

Normalerweise können in einer relationalen Datenbank Trigger seinbeim Ausführen des Befehls zur Tabellenausführung aufgetreten. Es wird nützlicher, weiterhin einfache Programmierungen zu schreiben und Informationen in der Datenbank konsistent zu halten. Darüber hinaus gibt es mehrere Triggerfunktionen, die im Folgenden erläutert werden.

1. Datenintegrität

Mit einem Abzug können Sie verteidigenin der Datenbank enthaltene Tabellenintegrität. Denn Sie können Operationen im Zusammenhang mit der Datenbankverarbeitung ausführen, z. B. INSERT, UPDATE und DELETE

2. Fehler verhindern

Trigger in MySQL können Fehler bei Datenoperationen verhindern. Wenn beim Definieren des Triggers ein Fehler auftritt, stört der Fehler den aktuellen Trigger nicht.

3. Arbeitsaufgaben planen

Wenn der Trigger ausgeführt wurde, können Sie verschiedene Programmiersprachen verwenden, ohne den Zugriff darauf verwechseln zu müssen.

4. Verhindern nicht autorisierter Transaktionsprozesse

In der Praxis wird der übliche Trigger für verwendetTransaktionsprozesse durchführen. Sie können den Transaktionsdatensatz in einer anderen Tabelle (Verlauf) speichern, ohne befürchten zu müssen, dass die Daten aktualisiert oder gelöscht werden. Alle auftretenden Änderungen können auch basierend auf dem Herstellungszeitpunkt randomisiert werden.

Beispiel auslösen

Nachdem Sie die Bedeutung des Auslösers verstanden habenZusammen mit seinen Funktionen wird der Autor einige Beispiele für die Anwendung der Verwendung von Triggern in der Datenbank geben. Im Allgemeinen können Trigger mithilfe von INSERT-, UPDATE- und DELETE-Ereignissen aktiviert werden. Im Folgenden werden einige Beispiele für die Anwendung der Veranstaltung erläutert. Sie müssen jedoch zuerst mehrere Tabellen in der Datenbank erstellen.

1. Verkaufstabelle

TABELLE ERSTELLEN Verkäufe (
sell_INT INT (8) NICHT NULL AUTO_INCREMENT,
VARCHAR customer_code (10) NICHT NULL,
code_brg VARCHAR (5),
VARCHAR item_name (35),
die Anzahl der INT (6),
der Preis von INT (12),
PRIMARY KEY (sales_id);

2. Tabelle der Einkäufe

TABELLE ERSTELLEN Käufe (
kaufe INT_8 (8) NOT NULL AUTO_INCREMENT,
code_brg VARCHAR (5),
VARCHAR item_name (35),
die Anzahl der INT (6),
der Preis von INT (12),
PRIMARY KEY (id_buy);

3. Warentabelle

TABELLE ERSTELLEN Item (
id_brg INT (8) NICHT NULL AUTO_INCREMENT,
VARCHAR item_name (35),
die Anzahl der INT (6),
PRIMARY KEY (id_brg);

Die folgenden Verwendungszwecke von Triggern müssen Sie kennen:

a. VOR DEM EINSETZEN DES TRIGGERS

Dieser Trigger hat eine Funktion zum Ausführen der Trigger-Task, bevor das Hinzufügen (Einfügen) von Daten in eine Tabelle abgeschlossen ist. Es folgt die Triggersyntax in MySQL:

CREATE TRIGGER nama_trigger
VOR EINFÜGEN
ON nama_table FÜR JEDE REIHE
BEGINNEN
// Variablendeklaration
ENDE;

Angenommen, Sie möchten dies überprüfenVorgang des Hinzufügens neuer Artikeldaten zur Artikeltabelle. Wenn der Artikel zuvor eingegeben wurde, wird eine Warnung "Artikel-ID existiert bereits" angezeigt. Dann lautet der einfache Befehl:

TRIGGER-Artikelbestand ERSTELLEN
VOR EINFÜGEN
AUF WAREN FÜR JEDE REIHE
BEGINNEN
WENN NICHT EXISTIEREN (SELECT id_brg FROM Item WHERE id_brg = NEW.id_brg)
DANN
SET NEW. Item name = NEW item name. NEW. Number = NEW. Number;
SONST
SET @status = CONCAT ('ID', NEW.id_brg, 'existiert bereits');
END IF;

b. Nach dem Einfügen auslösen

Dieser Trigger hat eine Funktion zum Ausführen der Trigger-Task, nachdem das Hinzufügen (Einfügen) von Daten in eine Tabelle abgeschlossen ist. Es folgt die Triggersyntax in MySQL:

CREATE TRIGGER nama_trigger
Nach dem Einfügen
ON nama_table FÜR JEDE REIHE
BEGINNEN
// Variablendeklaration
ENDE;

Wenn Sie beispielsweise Daten von verkauften Waren hinzufügen möchten, verringert sich automatisch der Betrag in der Artikeltabelle. Dann lautet der Befehl für Trigger in MySQL

CREATE TRIGGER sell_all
Nach dem Einfügen
AUF VERKAUF FÜR JEDE REIHE
BEGINNEN
UPDATE-Element
SET Betrag = NEU. Betrag
WHERE id_brg = NEW.id_brg,
ENDE;

c. VOR dem UPDATE auslösen

Dieser Trigger hat eine Funktion zum Ausführen von Trigger-Tasks, bevor das Ändern (Aktualisieren) von Daten in einer Tabelle abgeschlossen ist. Es folgt die Triggersyntax in MySQL:

CREATE TRIGGER nama_trigger
VOR DEM UPDATE
ON nama_table FÜR JEDE REIHE
BEGINNEN
// Variablendeklaration
ENDE;

Zum Beispiel in der Item-Tabelle mit Id_brg ="BRG001" mit dem item_name = "Plate". Mit dem Befehl BEFORE UPDATE wird der Elementname in "Glass" geändert. Dann lautet der entsprechende Befehl für den obigen Fall:

CREATE TRIGGER neue Waren
VOR DEM UPDATE DER WAREN FÜR JEDE REIHE
BEGINNEN
UPDATE-Element
SET item_name = "Glas"
WHERE id_brg = 'BRG001'; SET @status = CONCAT ('Artikeldaten mit ID', NEW.id_brg, 'wurde aktualisiert');</ p>

ENDE;

d. DEFTTE NACH TRIGGER

Dieser Trigger hat eine Funktion zum Ausführen von Triggeraufgaben, bevor das Löschen (Löschen) von Daten in einer Tabelle abgeschlossen ist. Es folgt die Triggersyntax in MySQL:

CREATE TRIGGER nama_trigger
Nach dem Löschen
ON nama_table FÜR JEDE REIHE
BEGINNEN
// Variablendeklaration
ENDE;

Sie möchten beispielsweise den Artikeldatensatz löschenmit id_brg = "BRG001", item_name = "Glass". Dann erhöht sich automatisch der Warenbestand entsprechend den gelöschten Datenelementen. Befolgen Sie die Syntax für DELETE AFTER:

CREATE TRIGGER neue Waren
VOR DEM UPDATE DER WAREN FÜR JEDE REIHE
BEGINNEN
UPDATE-Element
SET Betrag = Betrag + ALTER. Betrag
WHERE id_brg = OLD. Amount;
ENDE;

Das ist die Diskussion über das Verständnis des Auslösers.Funktionen zusammen mit Beispielen für die Implementierung von Triggern mit MySQL. Der Autor hofft, dass der obige Artikel Ihnen hilft, Trigger richtig zu verstehen und Beispiele dafür zu machen.

Kommentare 0