Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Usuwanie powiązanych wierszy w relacji wiele do wielu

Twoja prośba nie ma sensu

Kierowcy jako podmioty istnieją niezależnie od samochodów. Samochody mogą być prowadzone przez wielu kierowców, kierowcy mogą prowadzić wiele samochodów. Właśnie dlatego masz tabelę wiele-wiele.

Zwróć uwagę na bit "kierowcy mogą jeździć wieloma samochodami". Oznacza to, że jeśli usuniesz wiersz Kierowcy, musisz usunąć inne wiersze w CarDrivers.

Jeśli nadal chcesz to zrobić, potrzebujesz wyzwalacza w CarDrivers. CASCADE od Drivers to CarDrivers usunie dla Ciebie inne wiersze CarDrivers. Nie pamiętam również domyślnego zachowania dla rekurencji wyzwalania.

Co za bałagan.

Uwaga:to prawie ma sens, jeśli masz unikatowość w jednej z kolumn w tabeli wiele-wiele, to powinien to być klucz obcy między samochodami i kierowcami (Unique on Car oznacza „maksymalnie jeden kierowca na samochód” oznacza NULLable FK kolumna w samochodach)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie znaleziono Menedżera konfiguracji serwera SQL

  2. Zamień wiele znaków w SQL

  3. Przeanalizuj nazwę pliku i ścieżkę z pełnej ścieżki

  4. Rozwiązania DevOps do automatyzacji tworzenia baz danych

  5. Jak dodać ciąg z wartością automatycznego przyrostu w programie SQL Server?