Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изтриване на свързани редове в релация много към много

Искането ви няма смисъл

Шофьорите като обекти съществуват отделно от автомобилите. Колите могат да се управляват от много шофьори, шофьорите могат да карат много коли. Ето защо имате таблицата много-много.

Обърнете внимание на частта „шофьорите могат да карат много коли“. Това означава, че ако изтриете реда Drivers, трябва да изтриете и други редове в CarDrivers.

Ако все още искате да направите това, имате нужда от тригер на CarDrivers. КАСКАДАТА от Drivers към CarDrivers ще изтрие други редове CarDrivers вместо вас. Не мога да си спомня поведението по подразбиране и за рекурсия на задействане.

Каква бъркотия.

Забележка:това почти има смисъл, ако имате уникалност на една от колоните в таблицата много-много, тогава това трябва да е външен ключ между автомобили и шофьори (Уникален за кола означава „най-много един шофьор на кола“ означава NULLable FK колона в Автомобили)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изберете група от редове, които съответстват на всички елементи в списъка

  2. Как мога да определя в SQL Server дали диапазон дата и време се припокрива с друг

  3. Три лесни победи за производителност на SQL Server

  4. Как да посоча литерал за дата, когато пиша SQL заявка от SQL Server, който е свързан с Oracle?

  5. ddmmyyyy към sql datetime в SQL