PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Auditing dinamico dei dati con trigger PostgreSQL

Non hai menzionato la tua versione di PostgreSQL, che è molto importante quando scrivi le risposte a domande come questa.

Se stai utilizzando PostgreSQL 9.0 o versioni successive (o sei in grado di eseguire l'aggiornamento), puoi utilizzare questo approccio come documentato da Pavel:

http://okbob.blogspot.com /2009/10/accesso-dinamico-ai-campi-di-record-in.html

In generale, quello che vuoi è fare riferimento a un campo con nome dinamico in una variabile PL/PgSQL tipizzata da record come "NUOVO" o "VECCHIO". Questo è stato storicamente fastidiosamente difficile ed è ancora imbarazzante, ma è almeno possibile nella versione 9.0.

L'altra alternativa, che potrebbe essere più semplice, è scrivere i trigger di controllo in plperlu, dove i riferimenti dinamici ai campi sono banali.