Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Xóa các hàng có liên quan trong mối quan hệ nhiều-nhiều

Yêu cầu của bạn không hợp lý

Trình điều khiển là thực thể tồn tại tách biệt với Ô tô. Ô tô có thể được lái bởi nhiều người lái xe, người lái xe có thể lái được nhiều xe ô tô. Đây là lý do tại sao bạn có nhiều bảng.

Lưu ý các "trình điều khiển có thể lái nhiều xe hơi". Điều này có nghĩa là nếu bạn xóa hàng Trình điều khiển, bạn cần phải xóa các hàng khác trong Trình điều khiển.

Nếu bạn vẫn muốn làm điều này, bạn cần một trình kích hoạt trên CarDrivers. CASCADE từ Trình điều khiển đến Trình điều khiển xe sẽ xóa các hàng Trình điều khiển xe khác cho bạn. Cũng không thể nhớ hành vi mặc định cho đệ quy trình kích hoạt.

Thật là một mớ hỗn độn.

Lưu ý:điều này gần như có ý nghĩa nếu bạn có tính duy nhất trên một trong các cột trong bảng nhiều người thì nó phải là khóa ngoại giữa Ô tô và Trình điều khiển (Duy nhất trên Ô tô có nghĩa là "nhiều nhất một tài xế trên mỗi ô tô" có nghĩa là cột FK KHÔNG THỂ ĐỦ trong Ô tô)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham gia một bảng dựa trên các giá trị được phân tách bằng dấu phẩy

  2. Làm cách nào để thực hiện một thủ tục được lưu trữ một lần cho mỗi hàng được trả về bởi truy vấn?

  3. Tìm hiểu xem một đối tượng có phải là khóa ngoại với OBJECTPROPERTY () trong SQL Server hay không

  4. Một câu lệnh thực thi chèn không thể được lồng vào nhau

  5. Cách chèn hàng trong Bảng SQL Server bằng cách chỉnh sửa GUI hàng bảng - Hướng dẫn SQL Server / TSQL Phần 101