PostgreSQL-functies zijn opgeslagen procedures waarmee u een reeks databasebewerkingen kunt opslaan in een functie die herhaaldelijk kan worden aangeroepen zonder dat u elke keer handmatig instructies hoeft te typen. Het is een geweldig hulpprogramma voor hergebruik en automatisering van databases in toepassingen. U kunt het ook gebruiken om door de gebruiker gedefinieerde functies en opgeslagen procedures te creëren. Hier leest u hoe u de opdracht PostgreSQL create function gebruikt.
PostgreSQL-aanmaakfunctie
Dit is de syntaxis van 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 de bovenstaande zoekopdracht moet u
. specificerenfunctienaam – naam van de functie
[OF REPLACE] – optioneel trefwoord voor het wijzigen van bestaande functie
function_body – reeks bewerkingen die moeten worden uitgevoerd als onderdeel van de functie
retour statement met of zonder return variabele/waarde
verklaren variabelen om functiewaarden op te slaan
taal – Met PostgreSQL kunt u functies in verschillende talen definiëren, zoals PostgreSQL, SQL, C, Python en andere proceduretalen.
Bonus Lezen:PostgreSQL Schema maken
CREATE FUNCTION voorbeeld
Hier is een voorbeeld van het maken van een opgeslagen procedure in PostgreSQL. Stel dat u de volgende tabel verkoop . heeft
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
Bonus Lezen:PostgreSQL Database maken
Laten we een total()-functie maken die het aantal rijen telt in sales tafel
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 de bovenstaande query hebben we de functie total() zo gedefinieerd dat deze de SQL-query tussen BEGIN en END uitvoert en het resultaat opslaat in de gedeclareerde variabele $total , die wordt geretourneerd na uitvoering van de functie.
Hier leest u hoe u de PostgreSQL-functie uitvoert
postgres=# select total(); total ------- 10
Bonus Lezen:Histogram maken in PostgreSQL
Hopelijk helpt de bovenstaande tutorial je om een door de gebruiker gedefinieerde functie en opgeslagen procedure te creëren in PostgreSQL.
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te monitoren. Probeer het vandaag nog!