PostgreSQL-Funktionen sind gespeicherte Prozeduren, mit denen Sie eine Reihe von Datenbankoperationen in einer Funktion speichern können, die wiederholt aufgerufen werden kann, ohne jedes Mal manuell Anweisungen eingeben zu müssen. Es ist ein großartiges Dienstprogramm für die Wiederverwendung und Automatisierung von Datenbanken in Anwendungen. Sie können es auch verwenden, um benutzerdefinierte Funktionen und gespeicherte Prozeduren zu erstellen. So verwenden Sie den PostgreSQL-Befehl create function.
PostgreSQL-Erstellungsfunktion
Hier ist die Syntax von PostgreSQL CREATE FUNCTION.
CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype AS $variable_name$ DECLARE declaration; [...] BEGIN < function_body > [...] RETURN { variable_name | value } END; LANGUAGE plpgsql;
In der obigen Abfrage müssen Sie
angebenFunktionsname – Name der Funktion
[OR REPLACE] – optionales Schlüsselwort zum Modifizieren bestehender Funktionen
Funktionskörper – Satz von Operationen, die als Teil der Funktion ausgeführt werden sollen
Zurück Anweisung mit oder ohne Rückgabevariable/-wert
erklären Variablen zum Speichern von Funktionswerten
Sprache – Mit PostgreSQL können Sie Funktionen in verschiedenen Sprachen wie PostgreSQL, SQL, C, Python und anderen prozeduralen Sprachen definieren.
Bonus-Lesetext:PostgreSQL-Schema erstellen
CREATE FUNCTION-Beispiel
Hier ist ein Beispiel für die Erstellung einer gespeicherten Prozedur in PostgreSQL. Nehmen wir an, Sie haben die folgende Tabelle Verkäufe
postgres=# select * from sales; order_date | sale ------------+------ 2020-04-01 | 210 2020-04-02 | 125 2020-04-03 | 150 2020-04-04 | 230 2020-04-05 | 200 2020-04-10 | 220 2020-04-06 | 250 2020-04-07 | 215 2020-04-08 | 300 2020-04-09 | 250
Bonuslektüre:PostgreSQL-Datenbank erstellen
Lassen Sie uns eine total()-Funktion erstellen, die die Anzahl der Zeilen in Verkäufen zählt Tabelle
postgres=# CREATE OR REPLACE FUNCTION total() RETURNS integer AS $total$ declare total integer; BEGIN SELECT count(*) into total FROM sales; RETURN total; END; $total$ LANGUAGE plpgsql; CREATE FUNCTION
In der obigen Abfrage haben wir die Funktion total() so definiert, dass sie die erwähnte SQL-Abfrage zwischen BEGIN und END ausführt und das Ergebnis in der deklarierten Variablen $total speichert, die nach der Ausführung der Funktion zurückgegeben wird.
So führen Sie die PostgreSQL-Funktion aus
postgres=# select total(); total ------- 10
Bonuslektüre:So erstellen Sie ein Histogramm in PostgreSQL
Hoffentlich hilft Ihnen das obige Tutorial beim Erstellen benutzerdefinierter Funktionen und gespeicherter Prozeduren in PostgreSQL.
Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!