↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.5 / 6.4
历史版本。 PostgreSQL 7.3 已结束支持。 请参阅 当前版本手册.

pg_select

pg_select — 循环遍历 SELECT 语句的结果

大纲

pg_select dbHandle queryString arrayVar queryProcedure

输入

dbHandle

指定一个有效的数据库句柄。

queryString

指定一个有效的 SQL select 查询。

arrayVar

用于存放返回元组的数组变量。

queryProcedure

对找到的每个元组运行的过程。

输出

无。

描述

pg_select 向 PostgreSQL 后端提交一个 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)]
	}

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.