Re: Fwd: Re: question - plpgsql and query on table given by variable
От | Michael Fuhr |
---|---|
Тема | Re: Fwd: Re: question - plpgsql and query on table given by variable |
Дата | |
Msg-id | 20050830031748.GA10456@winnie.fuhr.org обсуждение исходный текст |
Ответ на | Fwd: Re: question - plpgsql and query on table given by variable (" Jaromír Kamler" <kamler@centrum.cz>) |
Список | pgsql-novice |
On Mon, Aug 29, 2005 at 11:13:15AM +0200, Jaromír Kamler wrote: > > EXECUTE 'PERFORM AsText(the_geom) FROM ' || a || ';'; PERFORM is a PL/pgSQL command that isn't valid in an EXECUTE context. Also, be careful when interpolating variables into an EXECUTE command; see the comments about using quote_ident() and quote_literal() in the "Executing Dynamic Commands" documentation. And the command string doesn't need a terminating semicolon. > IF FOUND THEN > RETURN 'yes'; > END IF; > IF FOUND THEN > RETURN 'no'; > END IF; Do you mean IF NOT FOUND? Also, using ELSIF (or ELSEIF) might be more readable. > SELECT n('b'); > ERROR: syntax error at or near "PERFORM" at character 1 > QUERY: PERFORM AsText(the_geom) FROM b; > CONTEXT: PL/pgSQL function "n" line 7 at execute statement > LINE 1: PERFORM AsText(the_geom) FROM b; > > When I use PPERFORM in normal way, it works. How I can reach some > results from the query executed by EXECUTE? The "Executing Dynamic Commands" documentation mentions a couple of ways (FOR-IN-EXECUTE and OPEN-FOR-EXECUTE). -- Michael Fuhr
В списке pgsql-novice по дате отправления: