创建与 grade 表相同的表 sc;在 course 表上创建触发器 del_trig,当 course 表上 删除一门课程时,级联删除 sc 表该课程的记录
时间: 2024-02-03 15:04:21 浏览: 101
SQL server创建触发器实现级联删除
创建 sc 表的 SQL 语句:
```sql
CREATE TABLE sc (
sno CHAR(10),
cno CHAR(4),
grade INT,
PRIMARY KEY(sno, cno),
FOREIGN KEY(sno) REFERENCES student(sno),
FOREIGN KEY(cno) REFERENCES course(cno)
);
```
创建触发器 del_trig 的 SQL 语句:
```sql
CREATE TRIGGER del_trig
AFTER DELETE ON course
FOR EACH ROW
BEGIN
DELETE FROM sc WHERE cno = OLD.cno;
END;
```
以上 SQL 语句的含义为:
- 创建名为 sc 的表,包含学号、课程号和成绩字段,其中学号和课程号组合为主键,同时分别与 student 表和 course 表的主键相连。
- 创建名为 del_trig 的触发器,它在 course 表上进行 DELETE 操作时触发。对于每一条被删除的记录,触发器会在 sc 表中删除与该课程号相同的记录。其中 `OLD.cno` 代表被删除的记录中的课程号字段。
阅读全文