Re: Why this does not work ??

Поиск
Список
Период
Сортировка
От Markus Bertheau
Тема Re: Why this does not work ??
Дата
Msg-id 1088935851.2767.1.camel@teetnang
обсуждение исходный текст
Ответ на Re: Why this does not work ??  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-novice
В Сбт, 03.07.2004, в 23:56, Tom Lane пишет:
> Roberto Rezende de Assis <rezende_assis@yahoo.com.br> writes:
> > Hello all, why this does not work ?
>
> > create function copiar()
> >     returns int as '
> >     declare
> >         ponteiro int;
> >     begin
> >         for ponteiro in select * from original order by num asc loop
> >             insert into copia(num) values(ponteiro);
>
> The loop variable of a for/select loop has to be a record or rowtype
> variable.  So you should do something like
>
>     declare
>         r record;
>     begin
>         for r in select * from original order by num asc loop
>             insert into copia(num) values(r.num);
>
> > WARNING:  plpgsql: ERROR during compile of copiar near line 4
> > ERROR:  missing .. at end of SQL expression
>
> I agree that this error message is not very helpful :-(

FWIW, the documentation explicitly states this case and the unhelpful
error message it yields.

I haven't looked, but the docs would need fixing then, too.

Thanks.

--
Markus Bertheau <twanger@bluetwanger.de>


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Why this does not work ??
Следующее
От: R.Welz
Дата:
Сообщение: plpgsql in RULE possible?