Triggerprogrammierung in MySQL
Trigger oder allgemein aufgerufen in "Trigger" programmieren Sie sind ein Objekttyp, der in Datenbanken zu finden ist. Wenn in dieser Datenbank ein bestimmtes Ereignis oder eine bestimmte Operation ausgeführt wird, führt unser Trigger automatisch eine Aktion aus, für die wir ihn zuvor programmiert haben.
Das löst aus sie werden automatisch aktiviert, wenn INSERT-, DELETE- oder UPDATE-Operationen ausgeführt werden, also Einfügen, Löschen oder Aktualisieren. Bei der Ausführung einer dieser Aktionen führen unsere Trigger eine Anweisung oder einen Block von Anweisungen aus, für die sie zuvor programmiert wurden.
Das Struktur eines Triggers in MySQL ist der nächste:
VERGRÖSSERN
[DEFINER = {user | CURRENT_USER}]Dieser Teil des Codes teilt dem Datenbankmanager mit, welcher Benutzer Berechtigungen hat, um unsere Trigger aufrufen zu können, wenn DML-Ereignisse auftreten. Der Standardwert ist CURRENT_USER.
Um den Namen unseres Triggers zu wählen, gibt es ein sehr gutes Kriterium: Geben Sie zuerst den Namen der Tabelle ein, dann die Initiale der DML-Operation (I für Insert, D für Delete oder U für Update) und dann die initial ab dem Zeitpunkt der Ausführung (entweder A für danach oder B für vorher).
VOR | DESPUES DEEs zeigt nur den Moment an, in dem unser Trigger ausgeführt wird, dh ob der Trigger vor dem DML-Ereignis (vor) oder nach (nach) ausgelöst wird.
EINFÜGEN | LÖSCHEN | AKTUALISIERENEs sagt uns, mit welchem Satz wir unseren Trigger auslösen, Einfügen, um Daten einzugeben, Löschen, um sie zu löschen, oder Aktualisieren, um sie zu ändern.
ON-TabellennameEs zeigt die Tabelle an, die unserem Trigger zugeordnet ist.
FÜR JEDE REIHEEs sagt uns nur, dass der Trigger für jede Zeile unserer Tabelle ausgeführt wird, die zuvor im ON definiert wurde.
Das letzte SQL-Anweisung oder der Anweisungsblock ist der Satz oder die Sätze, die unser Trigger ausführen wird, wenn er in Aktion tritt.
Praktisches Beispiel auslösen
Jetzt sehen wir ein praktisches Beispiel, wie man einen Trigger programmiert, um Bustickets für eine bestimmte Strecke zu verkaufen, während noch freie Plätze vorhanden sind.
Wir können jede Software verwenden, die Trigger und gespeicherte Prozesse akzeptiert.
1 Wir erstellen eine Datenbank:
2. in Folge wir erstellen zwei Tabellen in unserer Datenbank. Eine davon ist der Ort, an dem wir die verkauften Tickets speichern, und der andere wird erstellt, damit wir wissen, wie viele Tickets für die jeweilige Fahrt verfügbar sind.
Hier ist die Tabelle, die die Informationen zur Anzahl der verkauften Tickets enthält:
Als nächstes erstellen wir die Tabelle, in der wir die Informationen über die Anzahl der verfügbaren Tickets für jede bestimmte Fahrt speichern:
3. Jetzt wir erstellen den tisch um die verschiedenen Fahrten zu speichern:
4. Nachdem wir die Datenbank und die Tabellen erstellt haben, erstellen wir die SQL-Abfrage des Triggers, aber vorher müssen wir wissen, was die sind NEUE und ALTE Kennungen bei den Auslösern.
Damit sich unser Trigger auf eine oder mehrere spezifische Spalten der Tabelle bezieht, müssen wir die oben genannten Identifier NEW AND OLD verwenden.
ALT: gibt den alten Wert der Spalte an
NEU: den neuen Wert, den es annehmen könnte.
Als Beispiel: OLD.idtrip oder NEU.idtrip.
Mit dem INSERT-Anweisung Wir können nur den Bezeichner NEW verwenden, da mit INSERT die generierte Funktion darin besteht, neue Werte in die Spalte oder Spalten einzuführen.
Wenn wir die verwenden DELETE-Anweisung in diesem Fall müssen wir den OLD-Bezeichner verwenden, da wir mit DELETE bereits vorhandene Werte löschen.
Auf der anderen Seite, wenn wir die UPDATE-Anweisung Wir können OLD und NEW verwenden, da wir auf alte oder neue Werte verweisen können, da wir bereits vorhandene Datensätze für andere Werte ändern werden.
Nachdem wir nun die Bezeichner verstanden haben, würde die SQL-Anweisung so aussehen:
Wenn wir die SQL-Anweisung in einem Programm ausführen, das sie unterstützt, würden wir das tatsächlich sehen der Auslöser wurde erstellt.
Um zu sehen, wie es funktioniert, führen wir einige logische Werte für eine Busfahrt ein, zum Beispiel:
Hier habe ich bei der Fahrt mit der Kennzahl 1 eingetragen, dass 45 Plätze frei sind.
Danach verkaufen wir ein Ticket, zum Beispiel das Ticket, das Platz 14 entspricht:
Wenn wir bei dieser Abfrage zum Feld current_availability gehen, sehen wir, dass sich 45 in 44 geändert hat, da der Trigger 'update_availability' aktiviert wurde.
Das Vorteile der Verwendung von Triggern ist, dass unterschiedliche Anwendungsfälle programmiert werden können und die Integrität der Datenbank gewahrt bleibt, d. h. es gibt uns die Möglichkeit, Routinen zu erstellen, die bestimmte Aktionen automatisch ausführen, ohne dass dies manuell erfolgen muss. Dies wäre sehr sinnvoll für die Validierung jeglicher Art von Informationen oder für die Nachverfolgung von Bewegungen der Datenbank.
Ein weiteres sehr interessantes Beispiel, das ich gerade in den Validierungen erwähnt habe, ist die Bestimmung des Volljährigkeitsalters, bevor ein Satz gebildet wird, zum Beispiel:
Nachdem wir uns die Beispiele zum Erstellen von Triggern angesehen haben, müssen wir wissen, wie wir auf die Informationen des Triggers zugreifen. Dazu verwenden wir die Sätze:
So sehen Sie die Auslöser in unserer Datenbank:
AUSLÖSER ANZEIGENAuf der anderen Seite, wenn wir die Informationen des Triggers sehen wollen, der gerade erstellt wurde:
ANZEIGEN TRIGGER ERSTELLEN student_BU_triggerNachdem wir schließlich gesehen haben, wie Trigger erstellt und angezeigt werden, sehen wir uns an, welche Anweisung verwendet wird, um einen Trigger zu entfernen, den wir in unserer Datenbank haben.
Dazu müssen wir nur den typischen Löschbefehl verwenden: Tropfen.
DROP-TRIGGER [IF_EXISTS] trigger_nameHat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben