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

Wiersz nie jest usuwany, ponieważ wyzwalacz kaskadowy aktualizuje ten wiersz

Mam podobny problem, ale tylko z jednym stolikiem. Usunięcie wierszy z danej tabeli uruchamia wyzwalacz (przed usunięciem), który wyszukuje powiązane wiersze w tej samej tabeli (według określonego warunku), a jeśli je znajdzie, wiersze te zostaną zaktualizowane. Teraz, jeśli zaktualizowany wiersz ma zostać usunięty za pomocą tego samego polecenia usuwania, nie zostanie on usunięty.

Zasadniczo, jeśli utworzysz wyzwalacz, który zawsze aktualizuje ten sam wiersz, który jest usuwany, od teraz nie możesz niczego usuwać.

Nie wiem, czy to jest celowe, czy nie. Z jednej strony wydaje się to logiczne, to na pewno. Jeśli aktualizujesz rekord, nie jest to ten sam rekord, który był przeznaczony do usunięcia.

(przepraszam za zły angielski)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego `libpq` używa odpytywania zamiast powiadamiania o pobieraniu danych?

  2. Parsowanie daty z różnymi strefami czasowymi

  3. postgresql generuje sekwencję bez przerw

  4. Grupowanie niektórych wynikowych pól sql we wspólny obiekt

  5. PostgreSql WSTAW Z WYBRANEGO ID POWRACAJĄCEGO