[pgsql-jp: 25466] Re: PL/pgSQLで一時テーブルの作成、挿入、削除の問題
sugita @ sra.co.jp
sugita @ sra.co.jp
2002年 3月 28日 (木) 19:50:06 JST
杉田です。
From: Tatsuo Ishii <t-ishii @ sra.co.jp>
Subject: [pgsql-jp: 25462] Re: PL/pgSQLで一時テーブルの作成、挿入、削除の問題
Date: Thu, 28 Mar 2002 18:27:13 +0900
;;; 本題と離れますが,
;;;
;;; for mval in execute ''select sum(value) as s from test'' loop
;;;
;;; のループ変数mvalはレコード型にしています.本来ここではこれはレコード型
;;; である必要はないので,
select_clause と EXECUTE したときには、結果がタプルなので、RECORD 型になるの
では?
PL/pgSQL の gram.y 見ると for の変数の型によって枝分かれしています。for が
RECORD でないと expression .. expression に行くので、エラーメッセージの .. が
表示されているのだと。
;;; val float;
;;; :
;;; for val in execute ''select sum(value) as s from test'' loop
;;;
;;; としてもみたのですが,
;;;
;;; NOTICE: plpgsql: ERROR during compile of test near line 12
;;; ERROR: missing .. at end of SQL expression
;;;
;;; と怒られちゃうんですよね.なぜかなー
Kenji Sugita
sugita @ sra.co.jp
pgsql-jp メーリングリストの案内