.\\" auto-generated by docbook2man-spec $Revision: 1.2 $
.TH "PG_SELECT" "" "2004-06-19" "" "PostgreSQL 7.4.5 文書"
.SH NAME
pg_select \- 問い合わせ結果を繰り返し処理します。

.SH SYNOPSIS
.sp
.nf
pg_select \fIconn\fR \fIcommandString\fR \fIarrayVar\fR \fIprocedure\fR
.sp
.fi
.SH "説明"
.PP
\fBpg_select\fRは、問い合わせ((\fBSELECT\fR 文)をPostgreSQL サーバに送信し、結果内の各行に対して、指定した小さなコードを実行します。
\fIcommandString\fRは\fBSELECT\fR文でなければなりません。
他を指定するとエラーが返されます。
\fIarrayVar\fR変数はループで使用される配列です。
各行に対し、列名を配列の添字とした形で\fIarrayVar\fRにその行の値が代入されます。
その後、\fIprocedure\fRが実行されます。
.PP
列の値に加え、以下の特殊な項目が配列内に作成されます。
.TP
\fB\&.headers\fR
問い合わせで返される列名のリストです。
.TP
\fB\&.numcols\fR
問い合わせで返された列数です。
.TP
\fB\&.tupno\fR
0から始まる現在の行番号です。
ループ本体の繰り返し毎に1増やされます。
.PP
.SH "引数"
.TP
\fB\fIconn\fB\fR
コマンドを実行する接続のハンドルです。
.TP
\fB\fIcommandString\fB\fR
実行するSQL問い合わせです。
.TP
\fB\fIarrayVar\fB\fR
取り出した行用の配列変数です。
.TP
\fB\fIprocedure\fB\fR
取り出した行毎に実行されるプロシージャです。
.SH "戻り値"
.PP
ありません。
.SH "例"
.PP
この例では、\fBtable1\fRテーブルが\fBcontrol\fR と \fBname\fR 列を持つことを前提としています。(他の列を持っていても構いません。)
.sp
.nf
pg_select $pgconn "SELECT * FROM table1;" array {
    puts [format "%5d %s" $array(control) $array(name)]
}
.sp
.fi
