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

Reply via email to