[pgsql-jp: 32667] Re: function で一時的なview の作成方法を教えてください

ISHIDA Akio iakio @ pjam.jpweb.net
2004年 4月 6日 (火) 09:41:26 JST


こんにちは。石田@苫小牧市です。

function 内で view を作る必要はあるのでしょうか。
普通は、view を作るだけで十分だと思うんですが。
(あるいは、SETOF を返す function でもいいと思うんですが)。

Shingo.Amemiya @ jp.endress.com wrote:
> 内容は、次の物理ファイル
> REATE TABLE KARIKC (
>             DPIND integer,
>             KTANTO integer,
>             KKARIG integer,
>             HONGAK integer
> );
> GRANT SELECT ON TABLE KARIKC TO nobody;
> GRANT UPDATE ON TABLE KARIKC TO nobody;
> 
> を作成し4レコード作成したものに対して
> 
> 次のfunctionを作成しようとしています。
> ------------------------------------------------------
> DROP FUNCTION fun_EigoyJiseki(integer);
> CREATE FUNCTION fun_EigoyJiseki(integer) RETURNS view_jiseki_year AS '
>             CREATE VIEW view_jiseki_year (
>                   parm1,
>                   parm2,
>                   parm3,
>                   parm4
>             ) AS
>             SELECT
>                   SUBSTRING(KARIKC.DPIND,1,2),
>                   KARIKC.KTANTO,
>                   SUM(KARIKC.KKARIG),
>                   SUM(KARIKC.HONGAK)
>             FROM KARIKC
>             GROUP BY
>                   SUBSTRING(KARIKC.DPIND,1,2),
>                   KARIKC.KTANTO;
>             SELECT * FROM view_jiseki_year
>             WHERE parm1=$1;'
> LANGUAGE SQL;
> ---------------------------------------------
> function作成時に
> psql:TEST1.FUN:20:ERROR:Type"view_jiseki_year"dose not exist
> のエラーで作成できません。

-- 
ISHIDA Akio<iakio @ pjam.jpweb.net>



pgsql-jp メーリングリストの案内