Search Postgresql Archives

Re: Howto return values from a function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello

use SELECT * FROM actionlist(...);

Regards
Pavel Stehule

2008/5/16 A B <gentosaker@xxxxxxxxx>:
>> How you generate the results is up to you. when you have them you
>> either use RETURN NEXT or RETURN QUERY to return them to the caller.
>
> Now I get the reply
>
> ERROR:  set-valued function called in context that cannot accept a set
> CONTEXT:  PL/pgSQL function "actionlist" line 11 at return next
>
> and here is the function (and a datatype that is used for the return values)
>
>
> CREATE TYPE Ttelnr_action AS (
>        nr VARCHAR(30),
>        action CHAR(1)
> );
>
> CREATE OR REPLACE FUNCTION actionlist(tid_ TIMESTAMP) RETURNS SETOF
> Ttelnr_action AS $$
> DECLARE
>        rec RECORD;
>        result Ttelnr_action;
> BEGIN
>        FOR rec IN SELECT DISTINCT custid,nr,action FROM Actions
>        LOOP
>                IF rec.action = 'view_important_message' THEN
>                        result.nr := rec.nr;
>                        result.action := 'd';
>                        RETURN NEXT result;
>                ELSIF rec.action = 'download_movie' THEN
>                        result.nr := rec.nr;
>                        result.action := 'v';
>                        RETURN NEXT result;
>                END IF;
>        END LOOP;
>        RETURN;
> END;
> $$ LANGUAGE plpgsql;
>
> --
> Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux