pg_select

Name

pg_select -- 循環處理一個查詢的結果

Synopsis

pg_select conn commandString arrayVar procedure

描述

pg_selectPostgreSQL 服務器提交一個查詢 (SELECT 語句),並且對結果裡的每個記錄執行一個給定的代碼段。 commandString 必須是一個 SELECT 語句。任何其它東西都返回一個錯誤。 arrayVar 變量是一個在循環中使用的數組名。對每個記錄, arrayVar 都被填充為記錄的字段值, 使用字段名作為數組的索引.然後執行 procedure

除了上述字段值之外,在數組中還有下列特殊記錄︰

.headers

查詢返回的字段名列表

.numcols

查詢返回的字段數目.

.tupno

當前的行數目,從零開始,為每次循環體的迭代遞增。

參數

conn

要執行查詢的連接句柄。

commandString

要執行的 SQL 查詢。

arrayVar

用于返回行的數組變量。

procedure

在每個返回的記錄上運行的過程.

返回值

例子

如果表 table1 有字段 controlname (以及可能還有其他字段)下面的東西就能運行:

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