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:
A list of the column names returned by the query.
The number of columns returned by the query.
The current row number, starting at zero and incrementing for each iteration of the loop body.
The handle of the connection on which to execute the query.
The SQL query to execute.
An array variable for returned rows.
The procedure or script to run for each returned row.
None
A Tcl error will be thrown if an error occurs communicating with the database, or if there is an error processing the query, or if the procedure body throws a Tcl error.
pg_execute is a newer command which provides more
features and is more flexible than pg_select
.
This command uses or emulates the PostgreSQL
libpq
function PQexec
.