Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: SQL Server xóa dữ liệu có liên kết Table ?

  1. #1
    Ngày gia nhập
    04 2012
    Bài viết
    404

    Mặc định SQL Server xóa dữ liệu có liên kết Table ?

    Giả sử mình có 2 Table: TABHDBH và TABHDBHCT
    Table TABHDBH có các trường sau:
    NGAY DateTime;
    IDHDBH int
    ...

    Table IDHDBHCT có các trường sau:
    MAHDBH int
    ...

    Code:
    DELETE FROM TABHDBH INNER JOIN
                          dbo.TABHDBHCT ON dbo.TABHDBH.IDHDBH = dbo.TABHDBHCT.MAHDBH
    WHERE     (CONVERT(varchar, NGAY, 101) <= '04/16/2015')
    Hỏi: hai Table này nối với nhau qua TABHDBH.IDHDBH = TABHDBHCT.MAHDBH, mình muốn xóa có điều kiện theo ngày qua Table TABHDBH bởi trường ngày, khi xóa ngày trên Table TABHDBH có mã IDHDBH = MAHDBH thì các liên kết với Table TABHDBHCT cũng xóa theo. Vấn tin xóa dữ liệu ở trên của mình không xóa được bị báo lỗi ? mình muốn xóa trường hợp này mình sửa vấn tin như thế nào ?

  2. #2
    Ngày gia nhập
    09 2009
    Bài viết
    14

    Quan hệ giữa 2 bản là 1-n. Bạn phải thực hiện lệnh xóa trên các bảng n trước rồi xóa trên bản 1. Tham khảo thêm "Transaction trong sql " để đảm bảo toàn vẹn dữ liệu nhé.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn