sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-aanmaakfunctie

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

. specificeren

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

  1. hoe voeg ik een aangepaste adapter toe aan de activiteit om de lijst in de activiteit te laten verschijnen?

  2. Wat is de meest efficiënte manier om te controleren of een record in Oracle bestaat?

  3. Galera-cluster uitvoeren op Kubernetes

  4. Slaapstand configureren om Oracle's SYS_GUID() voor primaire sleutel te gebruiken