Verwijder eerst, als een eenmalige oefening voor het opschonen van gegevens, de verweesde rijen, b.v.
DELETE
FROM ReferencingTable
WHERE NOT EXISTS (
SELECT *
FROM MainTable AS T1
WHERE T1.pk_col_1 = ReferencingTable.pk_col_1
);
Ten tweede, als een eenmalige oefening voor het wijzigen van het schema, voeg de ON DELETE CASCADE
toe referentiële actie naar de refererende sleutel in de referentietabel, b.v.
ALTER TABLE ReferencingTable DROP
CONSTRAINT fk__ReferencingTable__MainTable;
ALTER TABLE ReferencingTable ADD
CONSTRAINT fk__ReferencingTable__MainTable
FOREIGN KEY (pk_col_1)
REFERENCES MainTable (pk_col_1)
ON DELETE CASCADE;
Dan worden rijen in de referentietabellen voor altijd automatisch verwijderd wanneer de rij waarnaar wordt verwezen wordt verwijderd.