Ta först bort de föräldralösa raderna som en engångsskrubbningsövning, t.ex.
DELETE
FROM ReferencingTable
WHERE NOT EXISTS (
SELECT *
FROM MainTable AS T1
WHERE T1.pk_col_1 = ReferencingTable.pk_col_1
);
För det andra, som en engångsövning för schemaändring, lägg till ON DELETE CASCADE
referensåtgärd till den främmande nyckeln på referenstabellen t.ex.
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;
Sedan, för alltid, rader i referenstabellerna automatiskt raderas när deras refererade rad raderas.