plPerl: How to iterate over $_TD->{new} in a trigger function?

Поиск
Список
Период
Сортировка
От Dirk Heinrichs
Тема plPerl: How to iterate over $_TD->{new} in a trigger function?
Дата
Msg-id 200606282000.43782.dirk.heinrichs@online.de
обсуждение исходный текст
Ответы Re: plPerl: How to iterate over $_TD->{new} in a trigger function?  (Dirk Heinrichs <dirk.heinrichs@online.de>)
Список pgsql-interfaces
Hi,

I want to write a generic trigger function, which can be attached to any
table, but it seems I'm to stupid :-) to get column/value pairs out of
$_TD->{new} and $_TD->{old}.

Here is my sample code:

create or replace function test_trig() returns trigger as $$       elog (INFO, "Table is: $_TD->{relname}\n");       my
%newrow= %_TD->{new};       elog (INFO, "$x=$y\n") while (($x,$y) = each %newrow);       return; 
$$ language plperl;

CREATE trigger trig1 after update or insert or delete on test for each row
execute procedure test_trig();

Table test can be anything. This is what I get when I insert something:

# insert into test (data) values ('foo');
INFO:  Table is: test

INFO:  =

INSERT 0 1

What I want to get at the second "INFO:" line is:

INFO: data=foo

Any hints?

Thanks...
Dirk

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

Предыдущее
От: "Robert Wimmer"
Дата:
Сообщение: Re: jdbc windows
Следующее
От: Dirk Heinrichs
Дата:
Сообщение: Re: plPerl: How to iterate over $_TD->{new} in a trigger function?