Kích hoạt khóa ngoại trong SQL Server

Khi khóa ngoại FOREIGN KEY trong SQL Server đã bị vô hiệu hóa , bạn có thể kích hoạt/bật lại bằng lệnh ALTER TABLE.

Cú pháp kích hoạt khóa ngoại trong SQL Server

ALTER TABLE ten_bang CHECK CONSTRAINT fk_ten;

Tên biến hoặc giá trị biến

ten_bang

Tên của bảng mà khóa ngoại đã được tạo.

fk_ten

Tên của khóa ngoại muốn vô hiệu hóa.

Ví dụ

CREATE TABLE sanpham ( id_sanpham INT PRIMARY KEY,   ten_sanpham VARCHAR(50) NOT NULL,   phan_loai VARCHAR(25) ); CREATE TABLE hangtonkho ( id_hangtonkho INT PRIMARY KEY,    id_sanpham INT NOT NULL,    soluong INT,   luong_toithieu INT,   luong_toida INT,   CONSTRAINT fk_htk_id_sanpham    FOREIGN KEY (id_sanpham)    REFERENCES sanpham (id_sanpham)  );

Ở ví dụ này, chúng ta tạo ra bảng mẹ là sanpham với khóa chính gồm trường thông tin là id_sanpham. Sau đó là bảng con có tên hangtonkho với khóa ngoại có ràng buộc xóa. Lệnh CREATE TABLE tạo khóa ngoại trên bảng hangtonkho có tên fk_htk_id_sanpham. Khóa ngoại hình thành mối quan hệ giữa cột id_sanpham trong bảng hangtonkho và id_sanpham trong bảng sanpham.

Nếu muốn kích hoạt lại khóa ngoại, chạy lệnh dưới đây.

ALTER TABLE hangtonkho CHECK CONSTRAINT fk_htk_id_sanpham;

Ví dụ trên dùng lệnh ALTER TABLE để bật lại khóa ngoại có tên fk_htk_id_sanpham trong bảng hangtonkho.