Khi FOREIGN KEY (khóa ngoại) trong SQL Server đã bị vô hiệu hóa, bạn có thể bật lại (enable/re-enable) 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;
Tham số
ten_bang: Tên bảng đã tạo khóa ngoại.
fk_ten: Tên khóa ngoại muốn kích hoạt.
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)
);
Trong ví dụ này, chúng ta tạo bảng cha sanpham với khóa chính gồm trường id_sanpham. Sau đó là bảng con hangtonkho với khóa ngoại. Lệnh CREATE TABLE tạo khóa ngoại trên bảng hangtonkho tên fk_htk_id_sanpham. Khóa ngoại thiết lập mối quan hệ giữa cột id_sanpham trong bảng hangtonkho và id_sanpham trong bảng sanpham.
Nếu bạn muốn kích hoạt lại khóa ngoại, chạy lệnh sau.
ALTER TABLE hangtonkho
CHECK CONSTRAINT fk_htk_id_sanpham;
Ví dụ trên dùng lệnh ALTER TABLE để kích hoạt lại khóa ngoại tên fk_htk_id_sanpham trong bảng hangtonkho.