PostgreSQL – Funktioniert als Trigger

Mit PostgreSQL können wir verschiedene Sprachen verwenden, um Funktionen zu erstellen. Diese Funktionalität ist sehr nützlich und macht sie zu einer der flexibelsten und leistungsfähigsten Datenbanken. Sie ermöglicht jedoch auch Funktionen wie Trigger , dh Funktionen, die automatisch erkennen, welche Aktion stattgefunden hat, und detonieren Eine andere Aktion, das heißt, wenn wir zum Beispiel in eine Tabelle einfügen, könnte ein Trigger aktiviert werden, der in einer anderen aktualisiert wird, um eine sehr grundlegende Operation für einen Trigger auszuführen.

Fungiert als Trigger

Keine Merit-Datenbank-Engine sollte über die Fähigkeit verfügen, Trigger zum automatischen Erkennen und Verarbeiten von Datenänderungen zu verwenden. PostgreSQL bietet Trigger auf Satz- und Datensatzebene. diejenigen, die sich auf der Satzebene befinden, werden für jeden Satz einmal ausgeführt, während diejenigen, die sich auf der Datensatzebene befinden, mehrmals ausgeführt werden können. Wenn beispielsweise ein UPDATE durchgeführt wird , das 1500 Datensätze betrifft, wird ein Trigger auf der Satzebene nur einmal ausgeführt Auf der anderen Seite würde die Registrierung bis zu 1500 Mal ausgeführt.

Ein weiterer wichtiger Punkt in diesem Thema ist die Unterscheidung zwischen den Anweisungen BEFORE , AFTER und INSTEAD OF in einem Trigger.

Ein Trigger, der mit BEFORE zusammenarbeitet, löst vor der Ausführung des Befehls die Möglichkeit aus, die Daten zu ändern oder abzubrechen oder zu manipulieren, bevor sie geändert werden. Nach der Ausführung der Änderung wird ein AFTER-Trigger ausgelöst, der die Möglichkeit bietet, die Daten bereits abzurufen Wenn diese Art von Trigger geändert wird, wird sie meist in Protokollen und Replikationsfunktionen verwendet. Der INSTEAD OF-Trigger wird anstelle der normalerweise ausgeführten Aktion ausgeführt. Eine weitere Besonderheit besteht darin, dass er nur mit den Ansichten funktioniert.

See also  So blockieren Sie Formeln in Excel 2016

Erstellen Sie eine Funktion mit Trigger

Wenn wir über Funktionen sprechen, von denen wir wissen, dass wir sie in anderen Sprachen ausführen können, ist es im Fall von Funktionen wie Triggern auch möglich, fast jede Sprache zu verwenden. PL / pgSQL ist jedoch ein Favorit, um diese Aufgaben zu erfüllen, daher das folgende Beispiel Wir werden sehen, dass das Bild in dieser Sprache gemacht wird, nachdem wir das Beispiel gesehen haben, werden wir es im Detail erklären:

pg_funciones_triggers.jpg

1. Die Funktion ist als Trigger definiert und kann in jeder Tabelle mit einer Spalte upd_ts verwendet werden. Der Wert dieser Spalte wird vor der Rückgabe geändert. Der Aufruf erfolgt im Ereignis BEFORE , da bei Verwendung im Ereignis AFTER alle Änderungen am neuen Datensatz ignoriert würden.

2. Der Trigger wird ausgelöst, bevor der Datensatz gespeichert wird.

3. Mit dieser Funktion, die nur in PostgreSQL 9.0 oder höher verfügbar ist, können wir nur die betroffenen Datensätze ändern. In früheren Versionen mussten Vergleiche zwischen dem alten und dem neuen Feld durchgeführt werden. Dies wird jedoch für das INSTEAD-Ereignis nicht unterstützt OF.

4. Wir verknüpfen den Trigger mit der Tabelle.

Damit beenden wir dieses Tutorial, in dem wir gesehen haben, wie ein Trigger erstellt wird, der in eine Funktion implementiert wird. Außerdem wissen wir, welche Ereignisse wir verwenden können, wenn wir sie benötigen.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *