使用sql语句完成以下操作:创建触发器sc_delete,事件:删除sc表记录之后;触发程序:删除sc表中数据后,将删除的记录插入到sc1表中。
时间: 2024-02-27 15:54:22 浏览: 81
要创建名为 sc_delete 的触发器,事件为删除 SC 表记录之后,触发程序为将删除的记录插入到 SC1 表中,可以使用以下 SQL 查询语句:
```sql
CREATE TRIGGER sc_delete AFTER DELETE ON SC FOR EACH ROW
INSERT INTO SC1 VALUES (OLD.sno, OLD.cno, OLD.grade);
```
这条语句将会创建一个名为 sc_delete 的触发器,当在 SC 表中删除一条记录后,会将删除的记录插入到 SC1 表中。其中,触发器的事件为删除记录之后,触发程序使用 INSERT INTO 语句将删除的记录插入到 SC1 表中,OLD 代表删除前的记录,包括 sno、cno、grade 三个字段。FOR EACH ROW 表示触发器对每一行记录都会执行一次。
相关问题
创建触发器sc_delete,事件:删除sc表记录之后;触发程序:删除sc表中数据后,将删除的记录插入到sc1表中。
可以使用以下SQL语句创建所需的触发器:
```
CREATE TRIGGER sc_delete
AFTER DELETE
ON sc
FOR EACH ROW
BEGIN
INSERT INTO sc1 VALUES (OLD.s, OLD.c, OLD.score);
END;
```
这个触发器会在每次从sc表中删除一条记录后执行,在执行时会将删除的记录插入到sc1表中。其中,OLD代表被删除的记录。
创建触发器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` 的记录,即被删除的学生对应的选课记录。