PostgreSQL-funktioner är lagrade procedurer som låter dig lagra en uppsättning databasoperationer i en funktion som kan anropas upprepade gånger utan att manuellt skriva instruktioner varje gång. Det är ett utmärkt verktyg för databasåteranvändning och automatisering i applikationer. Du kan också använda den för att skapa användardefinierade funktioner och lagrade procedurer. Så här använder du PostgreSQL skapa funktionskommandot.
PostgreSQL Skapa funktion
Här är syntaxen för 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 ovanstående fråga måste du ange
funktionsnamn – namnet på funktionen
[ELLER ERSÄTT] – valfritt nyckelord för att ändra befintlig funktion
function_body – uppsättning operationer som ska utföras som en del av funktionen
retur uttalande med eller utan en returvariabel/värde
deklarera variabler för att lagra funktionsvärden
språk – PostgreSQL låter dig definiera funktioner i olika språk som PostgreSQL, SQL, C, Python och andra procedurspråk.
Bonus Läs:PostgreSQL Skapa Schema
CREATE FUNCTION exempel
Här är ett exempel på hur man skapar lagrad procedur i PostgreSQL. Låt oss säga att du har följande tabell försäljning
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 Skapa databas
Låt oss skapa en total()-funktion som räknar antalet rader i försäljning 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 ovanstående fråga har vi definierat funktionen total() så att den exekverar SQL-frågan som nämns mellan BEGIN och END och lagrar resultatet i den deklarerade variabeln $total , som returneras efter funktionskörning.
Så här kör du PostgreSQL-funktionen
postgres=# select total(); total ------- 10
Bonus Läs:Hur man skapar histogram i PostgreSQL
Förhoppningsvis kommer handledningen ovan att hjälpa dig att skapa användardefinierad funktion och lagrad procedur i PostgreSQL.
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!