sql >> Database teknologi >  >> RDS >> Sqlserver

Sletning af relaterede rækker i et mange-til-mange-forhold

Din anmodning giver ikke mening

Chauffører som enheder eksisterer separat fra biler. Biler kan køres af mange chauffører, chauffører kan køre mange biler. Det er derfor, du har mange-mange-bordet.

Bemærk biten "chauffører kan køre mange biler". Det betyder, at hvis du sletter rækken Drivers, skal du slette andre rækker i CarDrivers.

Hvis du stadig ønsker at gøre dette, skal du bruge en trigger på CarDrivers. CASCADE fra Drivers to CarDrivers vil slette andre CarDrivers rækker for dig. Kan ikke huske standardadfærden for trigger-rekursion også.

Hvilket rod.

Bemærk:dette næsten giver mening, hvis du har unikhed på en af ​​kolonnerne i mange-mange-tabellen, så skal det være en fremmednøgle mellem Biler og Chauffører (Unique on Car betyder "højst en fører pr. bil" betyder NULLable FK-kolonne i Biler)



  1. Sådan fungerer OBJECTPROPERTY() i SQL Server

  2. Sender du en række værdier til en sql-forespørgsel i ruby?

  3. DATETIME VS INT til lagring af tid?

  4. Behøver at droppe en database ikke ske i nogen transaktion?