Khóa ngoại được dùng để tăng tính tđắm đuối chiếu trong cửa hàng dữ liệu SQL Server. Khóa nước ngoài tức là cực hiếm vào bảng này yêu cầu xuất hiện thêm vào bảng không giống.

Bạn đang xem: On delete cascade là gì


Quý Khách sẽ xem: On delete cascade là gì

Bảng tmê mẩn chiếu call là bảng bà bầu, còn bảng đựng khóa nước ngoài hotline là bảng nhỏ. Khóa ngoại trong bảng bé thường xuyên tsi mê chiếu cho tới khóa chínhPRIMARY KEYvào bảng bà bầu.

Khóa nước ngoài hoàn toàn có thể được tạo nên bằng lệnhCREATE TABLEhoặc lệnhALTER TABLE.


Quý khách hàng vẫn đọc: Mysql — Sự Khác Biệt Giữa On Delete Cascade Là Gì ? Khóa Ngoại Foreign Key Trong Sql Server


Cú pháp:

CREATE TABLE bang_con ( cot1 kieudulieu , cot2 kieudulieu , … CONSTRAINT fk_ten FOREIGN KEY ( cot_con1, cot_con2, … cot_con_n ) REFERENCES bang_me ( cot_me1, cot_me2, … cot_me_n ) ) ;


Giải phù hợp những ttê mê số trên

bang_conTên của bảng con mong mỏi sinh sản .

cot1, cot2

Cột mong muốn sản xuất vào bảng. Mỗi cột có một một số loại tư liệu, nên được chỉ định là chứa quý giá NULL giỏi NOT NULL, nếu không vẫn khoác định là NULL .

fk_ten

Tên của ràng buộc khóa nước ngoài mong sản xuất .

cot_con1, cot_con2, … cot_con_n

Cột vào bang_bé muốn tmê mệt chiếu tới khóa bao gồm trong bang_me .

bang_me

Tên của bảng bà mẹ đựng khóa chính được dùng trong bang_bé .

cot_me1, cot_me2, … cot_me_n

Cột khiến cho khóa bao gồm trong bang_me. Khóa ngoại sẽ tạo ràng buộc thân tư liệu và số đông cột cot_con1, cot_con2, … cot_con_n vào bang_con .

ON DELETE

Tùy lựa chọn. Cho biết đang làm cái gi với tài liệu bé Khi tư liệu bà bầu bị xóa. Có phần đông lựa chọn NO ACTION, CASCADE, SET NULL và SET DEFAULT .

Xem thêm: Skill Set Là Gì - Hiểu Về Mindset, Skillset, Toolset

ON UPDATE

Tùy lựa chọn. Cho biết vẫn làm cái gi cùng với dữ liệu bé khi dữ liệu người mẹ được cập nhật. Có các chọn lọc NO ACTION, CASCADE, SET NULL với SET DEFAULT.



NO ACTION

Dùng cùng với ON DELETE hoặc ON UPDATE, tức thị ko làm những gì cùng với tài liệu nhỏ lúc tư liệu người mẹ bị xóa hoặc update .

CASCADE

Dùng cùng với ON DELETE hoặc ON UPDATE, nghĩa là tư liệu nhỏ bị xóa hoặc update Khi tư liệu mẹ bị xóa hoặc update .

SET NULL

Dùng cùng với ON DELETE hoặc ON UPDATE, nghĩa là tài liệu nhỏ được đặt là NULL Khi tài liệu người mẹ bị xóa hoặc update .

SET DEFAULT


Dùng cùng với ON DELETE hoặc ON UPDATE, nghĩa là tư liệu bé được đặt thành quý hiếm mang định Lúc tài liệu chị em bị xóa hoặc update .Khóa ngoại Foreign Key (Cascade Delete) vào Squốc lộ ServerKhóa ngoại Foreign Key (Set Null) trong Squốc lộ ServerKhóa ngoại Foreign Key ( Cascade Delete ) trong SQL ServerKhóa ngoại Foreign Key ( Set Null ) trong Squốc lộ Server

lấy một ví dụ :

Chúng ta vẫn nhì bảng“products” và”inventory”. Trong bảng “products” bao gồm khóa thiết yếu là”product_id” cũng là khóa nước ngoài vào bảng “inventory”.

CREATE TABLE products ( product_id INT PRIMARY KEY, product_name VARCHAR ( 50 ) NOT NULL, category VARCHAR ( 25 ) ) ; CREATE TABLE inventory ( inventory_id INT PRIMARY KEY, product_id INT NOT NULL, quantity INT, min_cấp độ INT, max_level INT, CONSTRAINT fk_inv_product_id FOREIGN KEY ( product_id ) REFERENCES products ( product_id ) ) ; Kết quả :

*

Tên khóa buộc ràng khóa nước ngoài trong bảng “inventory”fk_inv_product_id.Nó sẽ cấu hình thiết lập tình dục giữ lại nhì bảng“inventory” cùng “products” trên cộtproduct_id.

Chúng ta hoàn toàn rất có thể kiểm soát 2 bảng : .

*
*

Tạo khóa nước ngoài áp dụng nhiều trường

Create foreign key with more than one field

Trong ví dụ bên trên chúng ta tạo ra khóa ngoại thực hiện một cột, trong ví dụ sau chúng ta sẽ tạo khóa nước ngoài nhiều hơn nữa một trường.



Giờ họ tạo ra nhị bảng“products2” “inventory2”. Trong ví dụ này bảng “products2”có khóa chính là nhì cộtproduct_name vàlocation.

Do kia, bảng thiết bị nhị bắt buộc bao gồm khóa nước ngoài là nhị cột này


Trong ví dụ này, thương hiệu khóa nước ngoài làfk_inv_sản phẩm tsi mê chiếu mang lại bảng products có hai ngôi trường : the product_name vàlocation .CREATE TABLE products2 ( product_name VARCHAR ( 50 ) NOT NULL, location VARCHAR ( 50 ) NOT NULL, category VARCHAR ( 25 ) CONSTRAINT products_đại chiến PRIMARY KEY ( product_name, location ) ) ; CREATE TABLE inventory2 ( inventory_id INT PRIMARY KEY, product_name VARCHAR ( 50 ) NOT NULL, location VARCHAR ( 50 ) NOT NULL, quantity INT, min_màn chơi INT, max_màn chơi INT, CONSTRAINT fk_inv_product FOREIGN KEY ( product_name, location ) REFERENCES products2 ( product_name, location ) ) ; Kết quả :

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *