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

Eliminazione di righe correlate in una relazione molti-a-molti

La tua richiesta non ha senso

I conducenti come entità esistono separatamente dalle automobili. Le auto possono essere guidate da molti conducenti, i conducenti possono guidare molte auto. Questo è il motivo per cui hai la tabella molti-molti.

Nota il bit "i conducenti possono guidare molte macchine". Ciò significa che se elimini la riga Driver, devi eliminare altre righe in CarDrivers.

Se ancora vuoi farlo, hai bisogno di un trigger su CarDrivers. La CASCADE da Drivers a CarDrivers eliminerà per te altre righe di CarDrivers. Non riesco a ricordare anche il comportamento predefinito per la ricorsione del trigger.

Che casino.

Nota:questo quasi ha senso se hai l'unicità su una delle colonne nella tabella molti-molti, allora dovrebbe essere una chiave esterna tra Cars e Drivers (Unique on Car significa "al massimo un conducente per auto" significa colonna FK NULLable in Cars)