sql >> Database >  >> RDS >> Sqlserver

Gerelateerde rijen verwijderen in een veel-op-veel-relatie

Uw verzoek slaat nergens op

Drivers als entiteiten bestaan ​​los van Cars. Auto's kunnen door veel chauffeurs worden bestuurd, chauffeurs kunnen veel auto's besturen. Dit is waarom je de veel-veel-tabel hebt.

Let op het stukje "chauffeurs kunnen veel auto's besturen". Dit betekent dat als u de rij Chauffeurs verwijdert, u ook andere rijen in CarDrivers moet verwijderen.

Als je nog steeds als je dit wilt doen, heb je een trigger op CarDrivers nodig. De CASCADE van Drivers naar CarDrivers verwijdert andere CarDrivers-rijen voor je. Ik kan me ook het standaardgedrag voor triggerrecursie niet herinneren.

Wat een puinhoop.

Let op:deze bijna is logisch als je uniekheid hebt op een van de kolommen in de veel-veel-tabel, dan zou het een vreemde sleutel moeten zijn tussen auto's en chauffeurs (uniek op auto betekent "maximaal één bestuurder per auto" betekent NULLable FK-kolom in auto's) P>

  1. Probleem bij gebruik van ROW_NUMBER() OVER (PARTITION BY ...)

  2. Postgres-tabelkolomnaambeperkingen?

  3. Hoe ping ik de MySQL-database en maak opnieuw verbinding met PDO

  4. SQL-Server:Is er een SQL-script dat ik kan gebruiken om de voortgang van een back-up- of herstelproces van SQL Server te bepalen?