Re: Trigger Procedure Error: NEW used in query that is not in a rule

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Trigger Procedure Error: NEW used in query that is not in a rule
Дата
Msg-id 162867790708110116h6825b5cj7a9f93a97f1328af@mail.gmail.com
обсуждение исходный текст
Ответ на Trigger Procedure Error: NEW used in query that is not in a rule  ("Javier Fonseca V." <fonsecajavier@gmail.com>)
Ответы Re: Trigger Procedure Error: NEW used in query that is not in a rule  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
NEW is only plpgsql variable. It isn't visible on SQL level. You
cannot use new.*, you can:

execute 'INSERT ...' || 'VALUES(' || new.a || ',' || new.b ....

regards
Pavel

2007/8/11, Javier Fonseca V. <fonsecajavier@gmail.com>:
>
>
> Hello.
>
> I'm doing a Trigger Procedure in pl/pgSQL.  It makes some kind of auditing.
>
> I think that it's working alright except for the next line:
>
> EXECUTE 'INSERT INTO ' || quote_ident(somedynamictablename)
> || ' SELECT new.*';
>
> PostgreSQL keeps telling me: "ERROR: NEW used in query that is not in a
> rule".  I think that this NEW problem is because of the scope of the EXECUTE
> statement (outside the scope of the trigger), so it doesn't recognize the
> NEW record.
>
> Maybe I could fix it concatenating column names and the 'new' values but I
> want to do my trigger as flexible as possible (I have several tables to
> audit).
>
> Somebody has any suggestion?
>
> Thanks a lot,
>
> Javier


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Javier Fonseca V."
Дата:
Сообщение: Trigger Procedure Error: NEW used in query that is not in a rule
Следующее
От: hubert depesz lubaczewski
Дата:
Сообщение: Re: Best Fit SQL query statement