Re: problem selecting from function

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: problem selecting from function
Дата
Msg-id 20070406095512.GA21873@winnie.fuhr.org
обсуждение исходный текст
Ответ на problem selecting from function  (Rikard Pavelic <rikard.pavelic@zg.htnet.hr>)
Список pgsql-general
On Fri, Apr 06, 2007 at 03:52:17AM +0200, Rikard Pavelic wrote:
> When I select from this function I get an error
>
> ERROR: record "red" has no field "id"
[...]
> create function select_ex1(out id int, out name1 varchar, out value1
> int) returns setof record as
> $$
> declare red record;
> begin
>    for red in select id, name1, value1 from example1 LOOP
>        id=red.id;
>        name1=red.name1;
>        value1=red.value1;
>        return next;

The columns in the select list match the parameter names so you're
selecting the parameters, not the columns in example1.  The query
is effectively:

   for red in select NULL, NULL, NULL from example1 loop

The code should work if you qualify the columns:

   for red in select e.id, e.name1, e.value1 from example1 e loop

--
Michael Fuhr

В списке pgsql-general по дате отправления:

Предыдущее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: RES: Order by behaviour
Следующее
От: "Dominik Żyła"
Дата:
Сообщение: Database replication.