Saya memiliki tabel kecil (~ 10 baris) yang disebut restrictions
dalam database PostgreSQL saya, di mana nilai-nilai dihapus dan dimasukkan setiap hari.
Saya ingin memiliki tabel bernama restrictions_deleted
, di mana setiap baris yang dihapus restrictions
akan disimpan secara otomatis. Karena restrictions
memiliki nomor seri, tidak akan ada duplikat.
Bagaimana saya menulis pemicu seperti itu di PostgreSQL?
postgresql
trigger
delete
plpgsql
Adam Matan
sumber
sumber
VALUES((OLD).*)
create function
kebutuhan untuk dipanggil sebelumnyacreate trigger
. DanVALUES((OLD).*)
trik yang disarankan oleh KayEss bagus.Jika Anda terbuka untuk pendekatan yang berbeda, Sudahkah Anda mempertimbangkan untuk menambahkan tanda Boolean 'dihapus' ke tabel, atau timestamp 'dihapus_at' sebagai gantinya.
Atau lebih baik lagi, tolak akses CRUD ke tabel basis data Anda dan tangani jejak audit di API transaksional Anda :)
sumber