sql创建表之级联删除

时间:2021-08-15 13:31:35

<span style="font-size:18px;"><span style="font-size:18px;">直接上代码:这个世界上没有一段代码不能解释的事,如果有,那就两段.</span>
</span>
<span style="font-size:18px;">USE StudentDB
GO 
CREATE TABLE student
(
SId VARCHAR(20) PRIMARY KEY ,
SName VARCHAR(20),
SClass VARCHAR(20),
SSex VARCHAR(10),
SScore FLOAT DEFAULT(0)CHECK(SScore>0)
)
go 
--创建课程表
CREATE TABLE class
(
EId VARCHAR(20) PRIMARY KEY ,
Ename VARCHAR(20),
ETime INT CHECK (ETime>=0)
)
go 
--创建分数表
CREATE TABLE score 
(
SId VARCHAR(20),
EId VARCHAR(20),
EScore FLOAT ,
PRIMARY KEY (SId,EId),
--申明级联删除
FOREIGN KEY (SId) REFERENCES student(SId)ON DELETE CASCADE,
FOREIGN KEY (EId) REFERENCES class(EId) ON DELETE CASCADE
)</span>


以上创建的表中当课程表和学生表中的数据删除时,分数表中对应的数据自动删除。