Re: plpgsql, insert with wariables in function triggered - Mailing list pgsql-general

From Jan Wieck
Subject Re: plpgsql, insert with wariables in function triggered
Date
Msg-id 200010231348.IAA01374@jupiter.jw.home
Whole thread Raw
In response to plpgsql, insert with wariables in function triggered  (Marcin Mazurek <M.Mazurek@poznan.multinet.pl>)
List pgsql-general
Marcin Mazurek wrote:
[Charset iso-8859-2 unsupported, filtering to ASCII...]
> Hi,
> why I can't use tabb variable in INSERT ?
> The error message I get is:
> ERROR:  parser: parse error at or near "$1"
>
>    DECLARE
>       ids1              INTEGER;            ids2  INTEGER;
>                 tab         TEXT;                tabb        TEXT;
> ...
>       tab := TG_RELNAME;
>       tabb :=tab || ''_do_zablokowania'';
> ...
>       if (NEW.stan=ids1) then
>          INSERT INTO tabb (zlecenie) VALUES ( OLD.id);
> --line that casues the trouble
>       end if;
> ...
> tia
>
> Marcin Mazurek

    Because the backends main parser doesn't allow a parameter in
    place of an  identifier.  PL/pgSQL  uses  parameters  in  SPI
    queries to substitute local variables into queries.

    In  7.1  there  is  a  new  "EXEC  <string  expr>" command in
    PL/pgSQL.  If you succeed in building a  complete  (correctly
    quoted)  querystring  for  the  operation, then you could use
    that for a while.

    I know that there are some problems with PL/pgSQL. I  plan  a
    complete  rewrite  when  other features in the core DB system
    are available.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #



pgsql-general by date:

Previous
From: "Alexandru COSTIN"
Date:
Subject: What release date for PostgreSQL 7.1?
Next
From: postgres@anova.inha.ac.kr
Date:
Subject: initdb trouble...