创建一个触发器,当删除表student中的记录时,自动删除表sc中对应学号记录。
时间: 2023-06-19 12:09:11 浏览: 1283
你可以使用MySQL中的触发器来实现这个功能。下面是一个示例代码:
```
CREATE TRIGGER delete_sc_record
AFTER DELETE ON student
FOR EACH ROW
BEGIN
DELETE FROM sc WHERE sc.sno = OLD.sno;
END;
```
这个触发器的作用是在删除表student中的记录时,自动删除表sc中对应的学号记录。触发器的名称是delete_sc_record,在每次删除操作之后执行。在触发器的执行体中,使用DELETE语句删除表sc中对应学号的记录。其中,OLD.sno表示被删除的学生表记录的学号。
相关问题
创建触发器sc_delete,当删除student表中的一条学生记录时,自动删除score表中对应学生的选课记录
可以使用如下的 SQL 语句创建一个名为 `sc_delete` 的触发器,实现删除学生表中学生记录时自动删除 score 表中对应学生的选课记录:
```
CREATE TRIGGER sc_delete
AFTER DELETE ON student
FOR EACH ROW
BEGIN
DELETE FROM score WHERE student_id = OLD.student_id;
END;
```
这里使用了 `AFTER DELETE` 指示器,表示在删除操作执行后触发该触发器。`FOR EACH ROW` 表示在每一行删除操作完成后都会执行触发器中的代码。`OLD.student_id` 表示被删除的学生记录中的学号(即旧的学号),这个学号将被用来删除 score 表中对应学生的选课记录。具体来说,`DELETE FROM score WHERE student_id = OLD.student_id` 表示删除 score 表中学号为 `OLD.student_id` 的记录,即被删除的学生对应的选课记录。
创建一触发器tri3,删除student表中的记录时,同时删除sc表中的相应记录
好的,您可以使用以下代码来创建该触发器:
```
CREATE TRIGGER tri3
AFTER DELETE ON student
FOR EACH ROW
BEGIN
DELETE FROM sc WHERE student_id = OLD.id;
END;
```
这个触发器会在每次从student表中删除一条记录后触发。它会检查被删除的记录的学号,并在sc表中删除所有与该学号相关的记录。需要注意的是,在这个触发器中,使用了OLD.id来表示被删除的记录的学号。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)