Re: Why this does not work ??

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Why this does not work ??
Дата
Msg-id 23473.1088891805@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Why this does not work ??  (Roberto Rezende de Assis <rezende_assis@yahoo.com.br>)
Ответы Re: Why this does not work ?? (Now it has worked)  (Roberto Rezende de Assis <rezende_assis@yahoo.com.br>)
Re: Why this does not work ??  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Why this does not work ??  (Markus Bertheau <twanger@bluetwanger.de>)
Список pgsql-novice
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 :-(

            regards, tom lane

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

Предыдущее
От: Roberto Rezende de Assis
Дата:
Сообщение: Why this does not work ??
Следующее
От: Roberto Rezende de Assis
Дата:
Сообщение: Re: Why this does not work ?? (Now it has worked)