[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 メーリングリストの案内