On Fri, 5 Oct 2001, Oleg Lebedev wrote:
> Hi,
> I looked through PL/pgSQL tutorial, but I can't get quotes and spaces to
> work in queries executed from Pl/pgSQl. Here is an example:
>
> create procedure get_name(varchar)
> ...
> BEGIN
> query := ''SELECT first_name || '''' '''' || last_name FROM user'';
> EXECUTE query;
> ...
> END;
> ...
>
> Basically I want to get full name, i.e. first name separated with space from
> the last name. If I follow the PL/pgSQL manual as shown above, I get parse
> error.
> What am I doing wrong?
Odd, a script like the following works for me on both 7.1 and 7.2devel:
drop table aa;
drop function fgn(varchar);
create table aa(a varchar);
insert into aa values ('d');
create function fgn(varchar) returns text as '
DECLARE
query text;
rec record;
BEGIN
query := ''SELECT a || '''' '''' || a as bar from aa;'';
RAISE NOTICE ''%'', query;
FOR rec in EXECUTE query LOOP
return rec.bar;
END LOOP;
END;'
language 'plpgsql';
select fgn('f');
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org