T-SQL級聯刪除——ON DELETE CASCADE

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的數據也刪除了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章