PostgreSQL 7.4.18 Documentation
Prev | Fast Backward |  | Fast Forward | Next

# pg_select

## Name

pg_select -- loop over the result of a query

## Synopsis

    pg_select conn commandString arrayVar procedure

## Description

`pg_select` submits a query (`SELECT` statement) to the PostgreSQL server and executes a given chunk of code for each row in the result. The `commandString` must be a `SELECT` statement; anything else returns an error. The `arrayVar` variable is an array name used in the loop. For each row, `arrayVar` is filled in with the row values, using the column names as the array indices. Then the `procedure` is executed.

In addition to the column values, the following special entries are made in the array:

`.headers`

  A list of the column names returned by the query.

`.numcols`

  The number of columns returned by the query.

`.tupno`

  The current row number, starting at zero and incrementing for each iteration of the loop body.

## Arguments

`conn`

  The handle of the connection on which to execute the query.

`commandString`

  The SQL query to execute.

`arrayVar`

  An array variable for returned rows.

`procedure`

  The procedure to run for each returned row.

## Return Value

None

## Examples

This examples assumes that the table `table1` has columns `control` and `name` (and perhaps others):

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

Prev | Home | Next
pg_result | Up | pg_execute