Tôi đang xóa một hàng trong bảng trên một trang web có mối quan hệ nhiều-nhiều. Tôi cũng muốn xóa mọi hàng liên quan ở phía bên kia của mối quan hệ đó. Ví dụ, giả sử tôi có các bảng sau đây và tôi muốn xóa một hàng từ Cars
. Tôi cũng muốn xóa mọi hàng có liên quan khỏi Drivers
và, tất nhiên, mọi hàng không còn cần thiết trong CarDrivers
.Xóa các hàng có liên quan trong mối quan hệ nhiều-nhiều-số
Table Cars:
CarID int
CarName nvarchar(100)
Table Drivers:
DriverID int
DriverName nvarchar(100)
Table CarDrivers:
CarID int
Driver int
Tôi biết cách tham gia các bảng ở trên trong truy vấn SELECT
. Nhưng tôi không thấy cách xóa dữ liệu trong mối quan hệ.
Lưu ý: Cả hai bên của mối quan hệ đều thực hiện xóa tầng. Vì vậy, ví dụ: xóa một hàng khỏi Cars
sẽ xóa mọi hàng có liên quan trong CarDrivers
. Nhưng rõ ràng là không lan truyền đến bảng Drivers
.
bản sao có thể có của [Làm cách nào để xóa từ nhiều bảng bằng INNER JOIN trong máy chủ SQL] (http://stackoverflow.com/questions/783726/how-do-i-delete-from-multiple-tables-using- inner-join-in-sql-server) –
@OMG Ponies: không đồng ý, nó không phải là một chuỗi bị xóa vì CarDrivers to Drivers sẽ là một đứa trẻ đang xóa một phụ huynh. Cha mẹ có thể có những đứa con khác. Xem câu trả lời của tôi xin vui lòng – gbn
-1 cho câu hỏi gây hiểu lầm và không đầy đủ với một ví dụ xấu – gbn