Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL Server

Vô hiệu hóa khóa ngoại trong SQL Server

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.

  1. Foreign Key (Cascade Delete) trong SQL Server
  2. Foreign Key (Set Null) khóa ngoại trong SQL Server

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.