PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 17.0 » Référence » Commandes SQL » CALL

CALL

CALL — Exécuter une procédure

Synopsis

CALL nom ( [ argument ] [, ...] )
  

Description

CALL exécute une procédure.

Si la procédure a des arguments en sortie, alors une ligne de résultat sera retournée, contenant les valeurs de ces paramètres.

Paramètres

nom

Le nom (potentiellement qualifié du schéma) de la procédure.

argument

Un argument en entrée pour l'appel de la procédure.

Les arguments peuvent inclure des noms de paramètres, en utilisant la syntaxe nom => valeur. Ceci fonctionne de la même façon que des appels de fonctions ordinaires ; voir Section 4.3 pour les détails.

Les arguments doivent être fournis pour tous les paramètres de la procédure qui n'ont pas de valeurs par défaut, y compris pour les paramètres OUT. Néanmoins, les arguments correspondant aux paramètres OUT ne sont pas évalués, donc il est habituel de simplement écrire NULL pour eux. (Écrire autre chose pour un paramètre OUT pourrait causer des problèmes de compatibilité avec les prochaines versions de PostgreSQL.)

Notes

L'utilisateur doit avoir le droit EXECUTE sur la procédure pour être autorisé à l'exécuter.

Pour appeler une fonction (pas une procédure), utilisez SELECT à la place.

Si CALL est exécuté dans un bloc de transaction, alors la procédure appelée ne peut pas exécuter d'ordre de contrôle de transaction. Les ordres de contrôle de transaction ne sont autorisés que si CALL est exécuté dans sa propre transaction.

PL/pgSQL gère différemment des paramètres en sortie dans les commandes CALL ; voir Section 41.6.3.

Exemples

CALL faire_maintenance_bd();
  

Compatibilité

CALL est conforme au standard SQL, sauf pour la gestion des paramètres en sortie. Le standard dit que les utilisateurs devraient écrire des variables pour recevoir les valeurs des paramètres en sortie.