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

Cách tạo Ràng buộc khóa ngoại bằng BẬT XÓA CASCADE trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 80

Tình huống:

Bạn đang làm việc với tư cách là nhà phát triển SQL Server, bạn cần tạo hai bảng với Mối quan hệ chính -Foreign Key. Bạn muốn tạo Ràng buộc khóa ngoại với cài đặt nếu bản ghi sẽ bị xóa khỏi Bảng được tham chiếu (Bảng cột khóa chính), thì bản ghi đó cũng sẽ bị xóa khỏi Bảng mẹ (Bảng ràng buộc khóa ngoại).

Giải pháp:

SQL Server cho phép chúng tôi sử dụng cài đặt có Ràng buộc khóa ngoài được gọi là On DELETE CASCADE. Nếu quy tắc này được thực hiện, bất cứ khi nào bản ghi bị xóa khỏi Bảng được tham chiếu (Bảng cột khóa chính), nó cũng sẽ bị xóa khỏi Bảng mẹ (Bảng ràng buộc khóa ngoại).
Hãy thử nghiệm kịch bản này với tập lệnh dưới đây.
USE YourDatabaseName
GO

CREATE TABLE dbo.Customer (
    Customerid INT PRIMARY KEY
    ,FName VARCHAR(100)
    ,LName VARCHAR(100)
    ,SSN VARCHAR(10)
    )


    CREATE TABLE dbo.Orders (
    OrderId INT Identity(1, 1)
    ,OrderitemName VARCHAR(50)
    ,OrderItemAmt INT
    ,Customer_id INT FOREIGN KEY REFERENCES
     Customer(CustomerId) ON DELETE CASCADE
    )

    --insert sample data
     insert into dbo.Customer 
    (CustomerId,FName, LName,SSN)
     values
    (1,'Aamir','Shahzad','000-000-00')
 
 
 Kiểm tra dữ liệu trong bảng bằng cách sử dụng truy vấn chọn. 
Cách bật BẬT Xóa quy tắc CASCADE với Ràng buộc khóa ngoài trong SQL Server

Hãy xóa hàng khỏi Bảng được Tham chiếu (Bảng Cột khóa chính) và xem nó có xóa khỏi Bảng mẹ (Bảng ràng buộc khóa ngoại) không

    --Delete the Record from Referenced Table(PK Column Table)
    Delete from dbo.Customer
    where CustomerId=1


Kiểm tra lại các bảng để xem liệu bản ghi có bị xóa khỏi cả hai bảng do quy tắc BẬT Xóa phân tầng trên Ràng buộc khóa ngoại hay không.
Cách sử dụng ON Delete Cascade để xóa các bản ghi khỏi nhiều Bảng trong SQL Server Table

Như chúng ta có thể thấy rằng các bản ghi bị xóa khỏi cả hai bảng do quy tắc ON DELETE CASCADE của Ràng buộc khóa ngoài. Video giới thiệu

:Cách tạo Ràng buộc khóa ngoại bằng BẬT XÓA CASCADE trong SQL Server
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cài đặt SQL Server trên máy Mac

  2. 5 Nguyên tắc truy vấn và cú pháp SQL để giám sát cơ sở dữ liệu tốt hơn

  3. Trích xuất số tuần từ một ngày trong SQL Server (T-SQL)

  4. Cách NULLIF () hoạt động trong SQL Server

  5. Bảng SQL Server:sự khác biệt giữa @, # và ## là gì?