a
CHECK & ON DELETE CASCADE
Sql Server 2016
USE master;
GO
CREATE DATABASE MyDatabase;
GO
USE MyDatabase;
GO
CREATE TABLE Departments
(
ID VARCHAR(7) PRIMARY KEY CHECK (ID like 'DE%'),
name VARCHAR(100),
domain VARCHAR(3) CHECK(domain = 'FIN' OR domain = 'MAR' OR domain = 'ADM' OR domain = 'HRM' OR domain = 'CRM' OR domain = 'TCD' OR domain = 'TOD'),
)
CREATE TABLE Employees
(
ID VARCHAR(50) PRIMARY KEY CHECK (ID like 'EM%'),
title VARCHAR(3) CHECK (title = 'Mr' OR title = 'Mrs' OR title ='Ms'),
full_name VARCHAR(40),
domain VARCHAR(3) CHECK(domain = 'FIN' OR domain = 'MAR' OR domain = 'ADM' OR domain = 'HRM' OR domain = 'CRM' OR domain = 'TCD' OR domain = 'TOD'),
position_em VARCHAR(3) CHECK (position_em = 'CHE' OR position_em = 'CHA' OR position_em = 'MEM'),
salary_month MONEY,
department_ID VARCHAR(7) REFERENCES DEPARTMENTS(ID) ON DELETE CASCADE
)
Giải thích
CHECK tác dụng tạo ra ràng buộc bắt người dùng chỉ được phép nhập giá trị đã khai báo
VD: Gender VARCHAR(50) primary key CHECK (Gender =1 OR Gender=2)
ON DELETE CASCADE là tự động xóa những bản ghi
VD: Ở table Employee phía trên là bảng con của Department vậy nên khi xóa một trường
trên table Department thì ở bảng Employee sẽ tự động xóa các nhân viên có trong phòng
ban đó.
0 nhận xét:
Post a Comment