sql >> Databasteknik >  >> RDS >> PostgreSQL

Dynamisk revision av data med PostgreSQL trigger

Du nämnde inte din version av PostgreSQL, vilket är väldigt viktigt när du skriver svar på frågor som denna.

Om du kör PostgreSQL 9.0 eller senare (eller kan uppgradera) kan du använda detta tillvägagångssätt som dokumenterats av Pavel:

http://okbob.blogspot.com /2009/10/dynamic-access-to-record-fields-in.html

I allmänhet, vad du vill är att referera till ett dynamiskt namngivet fält i en posttypad PL/PgSQL-variabel som 'NEW' eller 'OLD'. Detta har historiskt sett varit irriterande svårt och är fortfarande besvärligt men är åtminstone möjligt i 9.0.

Ditt andra alternativ - som kan vara enklare - är att skriva dina granskningsutlösare i plperlu, där dynamiska fältreferenser är triviala.




  1. Postgres-kolumnen finns inte

  2. jämförelse av truncate vs delete i mysql/sqlserver

  3. Undantag för överträdelse av Java Mysql Integrity Constraint

  4. psql returvärde / fel som dödar skalskriptet som anropade det?