Đầu tiên, dưới dạng bài tập kiểm tra dữ liệu một lần, hãy xóa các hàng bị tách rời, ví dụ:
DELETE
FROM ReferencingTable
WHERE NOT EXISTS (
SELECT *
FROM MainTable AS T1
WHERE T1.pk_col_1 = ReferencingTable.pk_col_1
);
Thứ hai, dưới dạng bài tập thay đổi giản đồ một lần, hãy thêm ON DELETE CASCADE
hành động tham chiếu đến khóa ngoại trên bảng tham chiếu, ví dụ:
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;
Sau đó, mãi mãi, các hàng trong bảng tham chiếu sẽ tự động bị xóa khi hàng được tham chiếu của chúng bị xóa.