01.05.2011 12:58, Basil Bourque wrote:
> Hoorah! I was able to complete my single PL/pgSQL function to create history records tracking individual field value changes generically for all my tables. Some developers call this an "audit trail", though an accountant might say otherwise.
>
I made auditing based on triggers like aforementioned. And now I need
fill audit table with already presented data. But there is a problem.
within trigger
EXECUTE 'SELECT ($1)."name"::text' INTO newVal USING NEW;
works fine
but function (table "decor" has field "name")
CREATE OR REPLACE FUNCTION "odb_InitLog"()
RETURNS void AS
DECLARE
obj record;
BEGIN
FOR obj IN (SELECT * FROM "decor") LOOP
EXECUTE 'SELECT ($1)."name"::text' INTO newVal USING obj;
END LOOP;
END;
doesn't work - ERROR: could not identify column "name" in record data type
Why?