sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan forhindrer man sletning af den første række i tabellen (PostgreSQL)?

Du havde ret med hensyn til at tænke på regelsystemet. Her er et link til et eksempel, der matcher dit problem. Det er endnu nemmere end triggerne:

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;

Nogle svar savner et punkt:også opdateringen af ​​den beskyttede række skal begrænses. Ellers kan man først opdatere den beskyttede række, så den ikke længere opfylder det forbudte sletningskriterium, og derefter kan man slette den opdaterede række, da den ikke længere er beskyttet.



  1. MariaDB SESSION_USER() Forklaret

  2. INDSÆT ... PÅ DUBLIKAT NØGLOPDATERING med HVOR?

  3. Eksempel på Oracle Pipelined funktion

  4. SCD Type 4