Ich habe eine kleine Tabelle (~ 10 Zeilen) restrictions
in meiner PostgreSQL-Datenbank, in der täglich Werte gelöscht und eingefügt werden.
Ich hätte gerne eine Tabelle restrictions_deleted
, in der jede Zeile, aus der gelöscht restrictions
wird, automatisch gespeichert wird. Da restrictions
es eine Seriennummer gibt, gibt es keine Duplikate.
Wie schreibe ich einen solchen Trigger in PostgreSQL?
postgresql
trigger
delete
plpgsql
Adam Matan
quelle
quelle
VALUES((OLD).*)
create function
vorher aufgerufen werdencreate trigger
. Und derVALUES((OLD).*)
von KayEss vorgeschlagene Trick ist nett.Wenn Sie offen für einen anderen Ansatz sind, haben Sie in Betracht gezogen, der Tabelle stattdessen ein Boolesches Flag "gelöscht" oder einen Zeitstempel "gelöscht_at" hinzuzufügen.
Oder noch besser, verweigern Sie CRUD den Zugriff auf Ihre Datenbanktabellen und verwalten Sie den Audit-Trail in Ihrer Transaktions-API :)
quelle