Under 7.0.x and earlier, no.
Under 7.1, you can use execute to execute a string which
could have dynamic bits (replace create sequence seqname;
with execute ''create sequence '' || seqname;)
On Sat, 28 Apr 2001, Lieven Van Acker wrote:
> Hi,
>
> is there a way to make a name in a plpgsql procedure dynamic? I want to
> do something like this:
>
> CREATE FUNCTION create_admin(BPCHAR)
> RETURNS BPCHAR AS '
> DECLARE
> seqname name;
> a alias for $1;
> BEGIN
> insert into admin(adminid)
> values (a);
>
> seqname := a || ''_seq'';
>
> create sequence seqname;
>
> return seqname;
> END;'
> LANGUAGE 'plpgsql';
>
> Calling this function returns
>
> SELECT create_admin('TS');
> ERROR: parser: parse error at or near "$1"
>
> Thanks,
>
> Lieven
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl
>