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