PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zapobiec usunięciu pierwszego wiersza w tabeli (PostgreSQL)?

Miałeś rację, myśląc o systemie zasad. Oto link do przykładu pasującego do Twojego problemu. To nawet prostsze niż wyzwalacze:

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;

W niektórych odpowiedziach brakuje jednego punktu:również aktualizacja chronionego wiersza musi być ograniczona. W przeciwnym razie można najpierw zaktualizować chroniony wiersz, tak aby nie spełniał już zakazanego kryterium usuwania, a następnie można usunąć zaktualizowany wiersz, ponieważ nie jest już chroniony.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. przenoszenie danych z jednej tabeli do drugiej, edycja postgresql

  2. Jak działa Extract() w PostgreSQL

  3. [Wideo] Wprowadzenie do typów danych JSON w PostgreSQL

  4. Naprawianie uszkodzonej tabeli TOAST

  5. Zapobieganie sąsiednim/nakładającym się wpisom za pomocą EXCLUDE w PostgreSQL