Eu tenho uma tabela pequena (~ 10 linhas) chamada restrictions
no meu banco de dados PostgreSQL, onde os valores são excluídos e inseridos diariamente.
Gostaria de ter uma tabela chamada restrictions_deleted
, onde todas as linhas excluídas restrictions
serão armazenadas automaticamente. Como restrictions
possui um ID de série, não haverá duplicatas.
Como escrevo esse gatilho no PostgreSQL?
postgresql
trigger
delete
plpgsql
Adam Matan
fonte
fonte
VALUES((OLD).*)
create function
precisa ser chamado antescreate trigger
. E oVALUES((OLD).*)
truque sugerido por KayEss é bom.Se você está aberto a uma abordagem diferente, já pensou em adicionar um sinalizador booleano 'excluído' à tabela ou um carimbo de data / hora 'delete_at'.
Ou melhor ainda, negue acesso CRUD às tabelas do banco de dados e lide com a trilha de auditoria em sua API transacional :)
fonte