pg_select

Name

pg_select -- 逐一处理一个 SELECT 语句的结果

Synopsis

pg_select dbHandle queryString arrayVar queryProcedure

输入

dbHandle

声明一个有效的数据库句柄.

queryString

声明一个有效的 SQL 选择查询.

arrayVar

用于存放返回记录的数组变量.

queryProcedure

在每个找到的记录上运行的过程.

输出

描述

pg_selectPostgreSQL 后端提交一个 SELECT 查询, 并且对结果里的每个记录执行一个给定的代码段. queryString 必须是一个 SELECT 语句.任何其它东西都返回一个错误. arrayVar 变量是一个在循环中使用的数组名.对每个记录, arrayVar 都被填充为记录的字段值, 使用字段名作为数组的索引.然后执行 queryProcedure

除了上述字段值之外,在数组中还有下列特殊记录∶

.headers

SELECT 返回的字段名列表

.numcols

SELECT 返回的字段数目.

.tupno

当前的原组数目,从零开始,为每次循环体的迭代递增.

用法

如果表 "table" 有字段 "control" 和 "name" (以及可能还有其他字段)下面的东西就能运行:

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