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)]
	}