Documentation PostgreSQL 14.22 » Programmation serveur » Interface de programmation serveur » Fonctions d'interface » SPI_execute_plan

Précédent | Niveau supérieur | Suivant
SPI_is_cursor_plan | Sommaire | SPI_execute_plan_extended

## SPI_execute_plan

SPI_execute_plan — exécute une requête préparée par `SPI_prepare`

## Synopsis

    int SPI_execute_plan(SPIPlanPtr plan, Datum * values, const char * nulls, bool read_only, long count)

## Description

`SPI_execute_plan` exécute une requête préparée par `SPI_prepare` ou une fonction du même type. `read_only` et `count` ont la même interprétation que dans `SPI_execute`.

## Arguments

`SPIPlanPtr `plan``

  requête préparée (retournée par `SPI_prepare`)

`Datum *`values``

  Un tableau des vraies valeurs des paramètres. Doit avoir la même longueur que le nombre d'arguments de la requête.

`const char * `nulls``

  Un tableau décrivant les paramètres nuls. Doit avoir la même longueur que le nombre d'arguments de la requête.

  Si `nulls` vaut `NULL`, alors `SPI_execute_plan` suppose qu'aucun paramètre n'est NULL. Dans le cas contraire, chaque entrée du tableau `nulls` doit valoir `' '` si le paramètre correspondant est non NULL et `'n'` si le paramètre correspondant est NULL (dans ce dernier cas, la valeur réelle de l'entrée `values` correspondante n'a pas d'importance). Notez que `nulls` n'est pas une chaîne de texte. C'est un tableau et, de ce fait, il n'a pas besoin d'un caractère de fin `'\0'`.

`bool `read_only``

  `true` pour une exécution en lecture seule

`long `count``

  nombre maximum de lignes à renvoyer ou `0` pour aucune ligne à renvoyer

## Valeur de retour

La valeur de retour est la même que pour `SPI_execute` avec les résultats d'erreurs (négatif) possibles :

`SPI_ERROR_ARGUMENT`

  si `plan` est `NULL` ou invalide ou `count` est inférieur à 0

`SPI_ERROR_PARAM`

  si `values` est `NULL` et `plan` est préparé avec des paramètres

`SPI_processed` et `SPI_tuptable` sont positionnés comme dans `SPI_execute` en cas de réussite.