Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

SQL TRIGGER zur Automatisierung deines DBMS

-
3
 Minuten Lesezeit
-
sql trigger

SQL Trigger: Um Anweisungen an ihre Datenbank in Abhängigkeit von bestimmten Ereignissen zu programmieren, können Datenexperten und Entwickler den Befehl TRIGGER SQL verwenden.

Wie erstellt man diesen SQL Trigger? Welche verschiedenen Arten von Triggern gibt es? Was sind die Vor- und Nachteile? DataScientest beantwortet alle deine Fragen.

Was ist ein SQL Trigger?

Ein SQL Trigger (oder Auslöser) ist ein Datenbankobjekt, das mit einer Tabelle verknüpft ist. Sobald bestimmte, ursprünglich geplante Ereignisse eintreten, führt er eine Reihe von Anweisungen aus. Zum Beispiel kann der Trigger ausgelöst werden, wenn eine Zeile zur Tabelle hinzugefügt, eine Spalte aktualisiert usw. wird.

Unabhängig vom Ereignis besteht das Ziel dieser Funktion darin, verschiedene Aufgaben in einem Datenbankverwaltungssystem (DBMS) zu automatisieren.

Im Gegensatz zu den meisten SQL-Befehlen wird der Trigger nicht direkt aufgerufen. Er hängt von einem Ereignis eines Drittanbieters ab. Deshalb wird der Vorgang in der Datenbank gespeichert, bis das besagte Ereignis tatsächlich eintritt.

🛑 Aber Vorsicht, es handelt sich nicht um eine herkömmliche gespeicherte Prozedur. Zum einen, weil der SQL Trigger nicht manuell aufgerufen oder ausgeführt wird. Zum anderen, weil Trigger keine Parameter empfangen können. Und schließlich, weil eine Transaktion innerhalb eines Triggers nicht bestätigt oder abgebrochen werden kann.

Wie erstellt man einen SQL Trigger?

Du kannst SQL TRIGGER verwenden, indem du die folgende Syntax schreibst:

CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE| DELETE}
ON table_name FOR EACH ROW
trigger_body;

Jedes dieser Elemente sollte definiert werden:

  • CREATE TRIGGER trigger_name: Dies ist das Senden der TRIGGER-Abfrage. Hier wird dein Auslöser benannt.
    {BEFORE | AFTER}: Hier geht es um den Zeitpunkt des Auslösers. Wird er vor oder nach dem Eintreten des Ereignisses stattfinden?
  • {INSERT | UPDATE| DELETE }: Hier geht es um das Ereignis. In diesem Fall: Hinzufügen, Aktualisieren oder Löschen. Natürlich ist es möglich, jede Art von Ereignis vorzusehen.
    ON table_name: Dies ist die Datenbank, auf die sich die TRIGGER SQL-Abfrage bezieht.
  • FOR EACH ROW: Hier werden die Zeilen angegeben, die vom Trigger betroffen sind.
    trigger_body: Dies ist die Beschreibung deines Auslösers. Was passiert, wenn das Ereignis eintritt?

Was sind die verschiedenen Arten von SQL Triggern?

Es gibt drei Hauptkategorien von SQL Triggern. Nämlich :

  • DDL-Trigger: DDL steht für Data Definition Language (Sprache zur Definition von Daten). Befehlsereignisse, die DDL entsprechen, führen daher zur Aktivierung dieser Art von SQL-Trigger. Zum Beispiel: Create_table, Create_view, drop_table, Drop_view oder Alter_table.
  • DML-Trigger: DML steht für Data manipulation Language. Die zugehörigen Ereignisse sind insert_table, update_view und delete_table. In diesem Fall werden Trigger verwendet, um Regeln für die Verwaltung und Integrität von Daten zu definieren.
  • logon triggers: Sie entsprechen dem Erstellen einer Benutzersitzung mit einer Instanz des SQL-Servers.

Was sind die Vor- und Nachteile von TRIGGER SQL-Abfragen?

➕ Die Vorteile von SQL Triggern

SQL-Trigger werden bei der Verwaltung von Datenbanken häufig eingesetzt. Dies geschieht aus mehreren Gründen:

  • Datenintegrität: Trigger definieren Regeln für die Objekte in der Datenbank. Sobald diese Regeln nicht eingehalten werden, machen die Trigger die fehlerhaften Änderungen automatisch rückgängig. Außerdem werden Daten, bevor sie integriert oder aktualisiert werden, immer durch den Trigger validiert, der überprüft, dass keine Regeln diese Änderungen verhindern.
  • Automatisierung: Die Auslöser untersuchen alle Daten im DBMS. Sobald bestimmte Ereignisse auftreten, nehmen sie automatisch Änderungen vor, ohne dass ein menschliches Eingreifen erforderlich ist.
  • Nachverfolgung: SQL Trigger vereinfachen das Führen eines Datensatzprotokolls.
  • Einfachheit: SQL Trigger müssen nicht bei jeder Ausführung in die Datenbank kompiliert werden. Dadurch reduzieren sie den Code, verbessern die Leistung von SQL-Abfragen und optimieren die Arbeitszeit.

Die Nachteile von SQL-Triggern

Trotz all der oben genannten Vorteile haben SQL-Trigger auch einige Einschränkungen, die du kennen solltest. Hier sind sie:

  • Erweiterte Validierungen sind nur mit Triggern möglich.
  • Aufgrund der Automatisierung von Triggern wissen die Benutzer nicht, wann sie ausgeführt werden. Dies kann die Problemlösung komplex machen.
  • Wenn viele Ereignisse gleichzeitig eintreten, können Trigger zu einer erhöhten Serverlast führen.
    CREATE TRIGGER kann nur auf eine einzige Tabelle angewendet werden.
  • Wenn du denselben SQL Trigger für mehrere Tabellen verwenden willst, musst du die Syntax mehrmals neu eingeben.

Komm zu DataScientest, um deine Fähigkeiten mit SQL zu erweitern

SQL Trigger gehören zu den wichtigsten Abfragen der SQL-Sprache, sind aber bei weitem nicht die einzigen. Es gibt auch die Befehle SELECT,  SQL DELETE, UPDATE… Die Möglichkeiten sind endlos. Um deine Datenbank besser zu beherrschen, solltest du dich in der Verwendung dieser verschiedenen SQL-Abfragen schulen lassen. Das ist in den DataScientest-Schulungen möglich.

 

💡 Auch interessant:

SQL Joins
SQL Count Tutorial
SQL Datei öffnen
SQL vs. NOSQL
noSQL nicht relationale Datenbanken

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.