pg_select

Nom

pg_select -- boucle sur le résultat d'une requête

Synopsis

pg_select conn chaineCommande
tableauVar procedure

Description

pg_select soumet une requête (instruction (SELECT) au serveur PostgreSQL et exécute un bout de code pour chaque ligne du résultat. chaineCommande doit être une instruction SELECT ; tout autre instruction renvoie une erreur. La variable tableauVar est un nom de tableau utilisé dans la boucle. Pour chaque ligne, tableauVar est rempli avec les valeurs de la ligne en utilisant les noms de colonnes comme indices du tableau. Puis, la procedure est exécutée.

En plus des valeurs des colonnes, les entrées spéciales suivantes sont ajoutées dans le tableau :

.headers

Une liste des noms de colonnes renvoyés par la requête.

.numcols

Le nombre de colonnes renvoyées par la requête.

.tupno

Le numéro de ligne courant, commençant à zéro et incrémenté à chaque itération du corps de la boucle.

Arguments

conn

La poignée de la connexion où exécuter la requête.

commandString

La requête SQL à exécuter.

tableauVar

Une variable de type tableau pour les lignes renvoyées.

procedure

La procédure à exécuter pour chaque ligne renvoyée.

Code de retour

Aucun

Exemples

Cet exemple suppose que la table table1 dispose des colonnes control et name (et peut-être d'autres) :

pg_select $pgconn "SELECT * FROM table1;" array {
    puts [format "%5d %s" $array(control) $array(name)]
}