Re: plpgsql, insert with wariables in function triggered

Поиск
Список
Период
Сортировка
От Jan Wieck
Тема Re: plpgsql, insert with wariables in function triggered
Дата
Msg-id 200010231348.IAA01374@jupiter.jw.home
обсуждение исходный текст
Ответ на plpgsql, insert with wariables in function triggered  (Marcin Mazurek <M.Mazurek@poznan.multinet.pl>)
Список 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 по дате отправления:

Предыдущее
От: "Alexandru COSTIN"
Дата:
Сообщение: What release date for PostgreSQL 7.1?
Следующее
От: postgres@anova.inha.ac.kr
Дата:
Сообщение: initdb trouble...