22/08/2018, 11:22

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 ...

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.

  • Khóa ngoại Foreign Key (Cascade Delete) trong SQL Server
  • Khóa ngoại Foreign Key (Set Null) trong SQL Server

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.

Bài trước: Vô hiệu hóa khóa ngoại trong SQL Server

Bài sau: Ràng buộc duy nhất trong SQL Server

0