pg_select

Name

pg_select -- SELECT 文の結果を繰り返し処理します。

Synopsis

pg_select dbHandle queryString
  arrayVar queryProcedure

入力

dbHandle

有効なデータベースハンドルを指定します。

queryString

有効な SQL select 問い合わせを指定します。

arrayVar

返されるタプル用の配列変数。

queryProcedure

タプルが見つかる度に実行されるプロシージャ。

出力

resultHandle

戻される結果は、エラーメッセージまたは問い合わせ結果のハンドルの いずれかです。

説明

pg_select は SELECT 問い合わせを Postgres バックエンドに送り、その結果内の各タプル について指定されたコード群を実行します。 queryString は SELECT 文 でなければいけません。他の問い合わせはエラーを返します。変数 arrayVar は、ループ内で 使用される配列名です。各タプルについて arrayVar にはそのタプルの フィールド値がフィールド名でインデックスされた形で格納されます。 そして、queryProcedure が実行されます。

使用方法

下は "table" テーブルが "control" と "name" フィールド (と、その他のフィールド)を持つ場合にうまく実行できます。

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