Stored Procedures and Functions in PostgreSQL – Getting Started

Una stored procedure e user-defined function (UDF) è un insieme di istruzioni SQL e procedurali (dichiarazioni, assegnazioni, loop, flow-of-control etc.) che vengono memorizzate sul server del database e possono essere invocate usando l’interfaccia SQL.

Quick Example:

In PostgreSQL, sia le stored procedure che le funzioni definite dall’utente sono create con l’istruzione CREATE FUNCTION. Ci sono differenze tra la nozione di stored procedure e funzioni nei sistemi di database:

Stored Procedure Funzione
Uso in un’espressione
Restituisce un valore
Restituisce valori come OUT
Restituisce un singolo insieme di risultati (come una funzione di tabella)
Restituisce più set di risultati

Quindi nella maggior parte dei casi, lo scopo di una stored procedure è quello di:

  • Eseguire azioni senza restituire alcun risultato (operazioni INSERT, UPDATE cioè.e.)
  • Restituire uno o più valori scalari come parametri OUT
  • Restituire uno o più set di risultati

Solitamente lo scopo di una funzione definita dall’utente è di elaborare i parametri di input e restituire un nuovo valore.

Strumenti di reporting

Molti strumenti di reporting (Crystal Reports, Reporting Services, strumenti BI ecc.) permettono di specificare una query (istruzione SQL SELECT) o una stored procedure che restituisce un set di risultati per definire un set di dati per un report.

Le stored procedure sono molto utili quando è necessario eseguire calcoli complessi prima che i dati siano disponibili per un report.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.