Procédures stockées et fonctions dans PostgreSQL – Mise en route

Une procédure stockée et une fonction définie par l’utilisateur (UDF) est un ensemble d’instructions SQL et procédurales (déclarations, affectations, boucles, flux de contrôle, etc.) qui sont stockées sur le serveur de base de données et peuvent être invoquées à l’aide de l’interface SQL.

Exemple rapide:

Dans PostgreSQL, les procédures stockées et les fonctions définies par l’utilisateur sont toutes deux créées avec l’instruction CREATE FUNCTION. Il existe des différences entre la notion de procédures stockées et de fonctions dans les systèmes de bases de données :

Procédure stockée Fonction
Utilisation dans une expression .
Renvoyer une valeur
Renvoyer des valeurs comme OUT paramètres
Retourner un seul ensemble de résultats (comme une fonction de table)
Renvoyer plusieurs ensembles de résultats

Donc, dans la plupart des cas, le but d’une procédure stockée est de :

  • Effectuer des actions sans renvoyer de résultat (opérations INSERT, UPDATE i.e.)
  • Renvoyer une ou plusieurs valeurs scalaires comme paramètres OUT
  • Renvoyer un ou plusieurs ensembles de résultats

Usuellement, le but d’une fonction définie par l’utilisateur est de traiter les paramètres d’entrée et de renvoyer une nouvelle valeur.

Outils de reporting

De nombreux outils de reporting (Crystal Reports, Reporting Services, outils de BI, etc.) vous permettent de spécifier une requête (instruction SQL SELECT) ou une procédure stockée renvoyant un ensemble de résultats pour définir un ensemble de données pour un rapport.

Les procédures stockées sont très utiles lorsque vous devez effectuer des calculs complexes avant que les données soient disponibles pour un rapport.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.