Name
pg_select -- loop over the result of a SELECT statement
Synopsis
pg_select dbHandle queryString
arrayVar queryProcedure
Inputs
- dbHandle
Specifies a valid database handle.
- queryString
Specifies a valid SQL select query.
- arrayVar
Array variable for tuples returned.
- queryProcedure
Procedure run on each tuple found.
Outputs
- resultHandle
the return result is either an error message or a handle for a query result.
Description
pg_select submits a SELECT query to the
Postgres backend, and executes a
given chunk of code for each tuple in the result.
The queryString
must be a SELECT statement. Anything else returns an error.
The arrayVar
variable is an array name used in the loop. For each tuple,
arrayVar is filled in
with the tuple field values, using the field names as the array
indexes. Then the
queryProcedure
is executed.
Usage
This would work if table "table" has fields "control" and "name"
(and, perhaps, other fields):
pg_select $pgconn "SELECT * from table" array {
puts [format "%5d %s" array(control) array(name)]
}