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

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

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

pg_select

pg_select — 循环遍历查询的结果

大纲

pg_select conn commandString arrayVar procedure

描述

pg_select 向 PostgreSQL 服务器提交一条查询(SELECT 语句),并对结果中的每一行执行给定的代码块。commandString 必须是一条 SELECT 语句;任何其他内容都会返回一个错误。arrayVar 变量是循环中使用的一个数组名。对于每一行,arrayVar 都会用该行的值填充,以列名作为数组下标。然后执行 procedure。

除了列值之外,数组中还会生成下列特殊条目:

.headers

查询返回的列名的列表。

.numcols

查询返回的列数。

.tupno

当前行号,从零开始,循环体每迭代一次递增一次。

参数

conn

要在其上执行查询的连接的句柄。

commandString

要执行的 SQL 查询。

arrayVar

用于返回行的数组变量。

procedure

为每个返回的行运行的过程。

返回值

无

示例

这个例子假定表 table1 具有列 control 和 name(还可能有其他列):

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

报告文档问题

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