PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL-Create-Funktion

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

angeben

Funktionsname – 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!