ON DELETE CASCADE
創建兩張表:
create table class
(
Id int identity(1,1) primary key,
cname nvarchar(20)
)
GO
create table student(
Id int identity(1,1) primary key,
sname nvarchar(20),
cid int references class(id) on delete cascade--級聯刪除
)
GO
插入測試數據:
insert into class
select 'C1' union
select 'C2' union
select 'C3'
insert into student
select 'N1',1 union
select 'N2',1 union
select 'N3',2
刪除class中的數據前:
--Class
Id cname
----------- --------------------
1 C1
2 C2
3 C3
--Student
Id sname cid
----------- -------------------- -----------
1 N1 1
2 N2 1
3 N3 2
刪除數據:
delete from class where id = 1;
刪除後:
--Class
Id cname
----------- --------------------
2 C2
3 C3
--Student
Id sname cid
----------- -------------------- -----------
3 N3 2
刪除Class表中的數據時,Student表中引用對應的Class的數據也刪除了。