sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur förhindrar man radering av den första raden i tabellen (PostgreSQL)?

Du hade rätt när du tänkte på regelsystemet. Här är en länk till ett exempel som matchar ditt problem. Det är ännu enklare än triggers:

create rule protect_first_entry_update as
  on update to your_table
  where old.id = your_id
  do instead nothing;
create rule protect_first_entry_delete as
  on delete to your_table
  where old.id = your_id
  do instead nothing;

Vissa svar missar en punkt:även uppdateringen av den skyddade raden måste begränsas. Annars kan man först uppdatera den skyddade raden så att den inte längre uppfyller det förbjudna raderingskriteriet, och sedan kan man ta bort den uppdaterade raden eftersom den inte längre är skyddad.



  1. Hämta data från lagrad procedur med Entity Framework

  2. PostgreSQL Meltdown Benchmarks

  3. Viktig PostgreSQL-övervakning - Del 1

  4. Utforska de olika sätten att kryptera dina MariaDB-data