Обсуждение: plpgsql out parameter with select into

Поиск
Список
Период
Сортировка

plpgsql out parameter with select into

От
Imre Horvath
Дата:
Hi!

My question is, how can I get the out parameter from a function with
SELECT INTO by name?
I mean:

create function testfunc1(OUT _status integer) returns integer as
$BODY$       _status := 0;
$BODY$
language plpgsql;

create function testfunc2() as
declare       status integer;
$BODY$       select into status * from testfunc1();
$BODY$
language plpgsql;

create function testfunc3() as
declare       status integer;
$BODY$       select into status _status from testfunc1();
$BODY$
language plpgsql;

testfunc2 works, testfunc3 not.

Thanks in advance:
Imre Horvath



Re: plpgsql out parameter with select into

От
Pavel Stehule
Дата:
Hello

It cannot work, you mix the sql with plpgsql language



2010/8/17 Imre Horvath <blemidon@gmail.com>:
> Hi!
>
> My question is, how can I get the out parameter from a function with
> SELECT INTO by name?
> I mean:
>
> create function testfunc1(OUT _status integer) returns integer as
> $BODY$
>        _status := 0;
> $BODY$
> language plpgsql;
>
> create function testfunc2() as
> declare
>        status integer;
> $BODY$
>        select into status * from testfunc1();
> $BODY$
> language plpgsql;
>
> create function testfunc3() as
> declare
>        status integer;
> $BODY$
>        select into status _status from testfunc1();
> $BODY$
> language plpgsql;
>
> testfunc2 works, testfunc3 not.
>
> Thanks in advance:
> Imre Horvath
>
>

create or replace function test1(out _status integer) returns integer
as $$ begin _status := 10; end; $$ language plpgsql;
create or replace function test3() returns void as $$ declare status
integer; begin select into status _status from test1(); raise notice
'%', status; end; $$ language plpgsql;

this working for me.

postgres=# select test3();
NOTICE:  10test3
───────

(1 row)

Regards

Pavel Stehule

> --
> Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql
>