Sau khi đã tạo FOREIGN KEY (khóa ngoại) trong SQL Server, sẽ có lúc bạn cần vô hiệu hóa chúng. Lúc này sử dụng lệnh ALTER TABLE.
Cú pháp vô hiệu hóa khóa ngoại trong SQL Server
ALTER TABLE ten_bang
NOCHECK 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 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)
);
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 vô hiệu hóa khóa ngoại vừa tạo, chạy lệnh sau.
ALTER TABLE hangtonkho
NOCHECK CONSTRAINT fk_htk_id_sanpham;
Ví dụ trên dùng lệnh ALTER TABLE để vô hiệu hóa khóa ngoại fk_htk_id_sanpham được tạo trong bảng hangtonkho.