22 March 2017

CHECK & ON DELETE CASCADE trong SQL Server

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

 

BACK TO TOP

Xuống cuối trang