[pgsql-jp: 34638] Re: FORのネストとEXECUTE
Katsuhiko Okano
k_okano @ po.ntts.co.jp
2005年 1月 13日 (木) 18:52:19 JST
岡野と申します。
CM wrote:
> またもやplpgsqlストアドで詰まっています。
> Windows 2000 Server の Postgresql-7.2.1でcygwin-1.3.12-4です。
>
> 顧客情報のテーブルccallinoneuから、適宜期間をエンドユーザーに
> 入力させて数値項目を集計し、自動的にsumminguptテーブルに
> 集積する形にしたいのですが、無理でしょうか?
>
> テーブルgstattableにupdate, insertトリガでstat_contentファンクションを
> 呼び出す仕組みなのですが・・・・。
(略)
> CREATE OR REPLACE FUNCTION stat_content ()
> RETURNS opaque AS '
> DECLARE
>
> column integer;
> row integer;
> result integer;
> i integer;
> j integer;
> k integer;
>
> BEGIN
>
> column:=12;
> row:=13;
>
> DELETE FROM summingupt WHERE code=2;
>
>
> FOR j IN 1..13 LOOP
> FOR i IN 1..12 LOOP
> IF (i%2=0) THEN
> k:=i/2;
> ELSIF (i%2=1) THEN
> k:=(i+1)/2;
> END IF;
>
(略)
> どうしても22行目のLOOPの近くにおかしいところがあるよ、でERRORが出てしまいま
> す。(素人の疑問なのですが、この行数ってどこから出てくるんでしょうか?
> pg_procのprosrcで見てもよくわからないし。;(セミコロン)の位置か、それとも単
> 純に改行コードの位置なんでしょうか?)
「DECLARE」から数えて22行目で「ELSE IF」ではなく「ELSIF」になっていますが、大丈夫でしょうか?
(略)
> PS:全然関係ないですが、自宅のXP Homeに8.0.0を入れました。cygwinで難しくやっ
> てたときのことを思えば感無量です。(仕事では相変わらずcygwinですが。)
postgresql-8.0.0-rc5-jaも出ましたね。pgAdmin3も無事に起動するみたいですし、
(設定不要でOKなら)インストーラをダブルクリックするだけの簡単さになれてしまうと
戻れなくなりそうです(^^;)
> でもなぜか、cygwinのbinディレクトリに通したシステム環境変数のPATHをつけてい
> るとインストール時に警告が出てしまいます?
「あなたのシステムPATHは、'cygwin\bin'を含みます。cygwinディレクトリーに見つけた
数個のDLLファイルのバージョンはバグのために、全ての外部手続きの言語は、
無効にされました。(後略)」
というやつですね。
これだけを見てもcygwinの何がどう悪いのかさっぱり分かりませんが・・・(--;)
--
----------------------------------------
Katsuhiko Okano
k_okano _at_ po.ntts.co.jp
NTT Software Corp. (division "NBRO-PT6")
pgsql-jp メーリングリストの案内