В Сбт, 03.07.2004, в 23:56, Tom Lane пишет:
> Roberto Rezende de Assis <rezende_assis(at)yahoo(dot)com(dot)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
> r record;
> 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.
Markus Bertheau <twanger(at)bluetwanger(dot)de>
In response to
pgsql-novice by date
|Next:||From: R.Welz||Date: 2004-07-04 12:43:36|
|Subject: plpgsql in RULE possible?|
|Previous:||From: Tom Lane||Date: 2004-07-04 03:07:11|
|Subject: Re: Why this does not work ?? |