PostgreSQL-funktioner er lagrede procedurer, der giver dig mulighed for at gemme et sæt databasehandlinger i en funktion, som kan kaldes gentagne gange uden manuelt at indtaste instruktioner hver gang. Det er et fantastisk værktøj til databasegenbrug og automatisering i applikationer. Du kan også bruge den til at oprette brugerdefinerede funktioner og lagrede procedurer. Sådan bruger du PostgreSQL create function-kommandoen.
PostgreSQL oprettelsesfunktion
Her er syntaksen for 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;
I ovenstående forespørgsel skal du angive
funktionsnavn – navnet på funktionen
[ELLER ERSTAT] – valgfrit nøgleord til ændring af eksisterende funktion
function_body – sæt af operationer, der skal udføres som en del af funktionen
retur sætning med eller uden en returvariabel/værdi
erklær variabler til at gemme funktionsværdier
sprog – PostgreSQL giver dig mulighed for at definere funktion i forskellige sprog såsom PostgreSQL, SQL, C, Python og andre proceduresprog.
Bonus Læs:PostgreSQL Opret skema
CREATE FUNCTION eksempel
Her er et eksempel på, hvordan man opretter lagret procedure i PostgreSQL. Lad os sige, at du har følgende tabel salg
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 Læs:PostgreSQL Opret database
Lad os oprette en total() funktion, der tæller antallet af rækker i salg bord
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
I ovenstående forespørgsel har vi defineret funktionen total() sådan, at den udfører SQL-forespørgslen nævnt mellem BEGIN og END og gemmer resultatet i den erklærede variabel $total , som returneres efter funktionsudførelse.
Her er, hvordan du udfører PostgreSQL-funktionen
postgres=# select total(); total ------- 10
Bonus Læs:Sådan opretter du histogram i PostgreSQL
Forhåbentlig vil ovenstående vejledning hjælpe dig med at oprette brugerdefinerede funktioner og lagret procedure i PostgreSQL.
Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!