Trigger with dynamic SQL

From: "Josi Perez (3T Systems)" <josiperez3t(at)gmail(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Trigger with dynamic SQL
Date: 2010-05-19 12:30:17
Message-ID: AANLkTikTOkORnSAEa0dEk5x0TtB-Gt3TJqwUR-IxmohS@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

To avoid to delete registers I created one trigger activated "before delete"
with lines like that:
UPDATE tableX set dtExc = 'now', userExc = current_user where idTableX =
OLD.idTableX;
return NULL;

but, I need do the same for many tables and I don't catch how.
I created an sql variable to construct the update command using parameters
on trigger
qry := 'UPDATE '||arg_table||' set userexc = '
||chr(39)||current_user||chr(39)||', dtalt = '||'''now'''||' where ' ||
arg_id ||' = OLD.'||TG_ARGV[1];

but when "EXECUTE qry" I lost the OLD.variable.

I can't send the bigint id to delete in trigger parameters.

Any suggestions?

Thanks in advance,
Josi Perez

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message mnavahan 2010-05-19 15:39:57 Firebird To postgresql migration help needed
Previous Message Ray Stell 2010-05-19 12:21:08 Re: could not truncate directory "pg_subtrans": apparent wraparound