Stored Procedures og funktioner i PostgreSQL – Introduktion

En lagret procedure og brugerdefineret funktion (UDF) er et sæt SQL- og proceduremæssige instruktioner (deklarationer, tildelinger, sløjfer, flow-of-control osv.), der er gemt på databaseserveren og kan påkaldes ved hjælp af SQL-grænsefladen.

Snaeksempel:

I PostgreSQL oprettes både lagrede procedurer og brugerdefinerede funktioner med CREATE FUNCTION-anvisningen. Der er forskelle mellem begrebet lagrede procedurer og funktioner i databasesystemer:

Stored Procedure Funktion
Brug i et udtryk
Returnerer en værdi
Returnerer værdier som OUT parametre
Returnerer et enkelt resultatsæt (som en tabelfunktion)
Returnerer flere resultatmængder

Så i de fleste tilfælde, er formålet med en lagret procedure at:

  • Udføre handlinger uden at returnere noget resultat (INSERT, UPDATE-operationer i.e.)
  • Returnerer en eller flere skalarværdier som OUT-parametre
  • Returnerer et eller flere resultatsæt

Sædvanligvis er formålet med en brugerdefineret funktion at behandle de indgående parametre og returnere en ny værdi.

Rapporteringsværktøjer

Flere rapporteringsværktøjer (Crystal Reports, Reporting Services, BI-værktøjer osv.) giver dig mulighed for at angive en forespørgsel (SQL SELECT-anvisning) eller en lagret procedure, der returnerer et resultatsæt, for at definere et datasæt til en rapport.

Stored procedures er meget nyttige, når du har brug for at udføre komplekse beregninger, før dataene er tilgængelige for en rapport.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.