在course表上定义一个触发器course_tri,当删除一门课程时,将该课程的课程编号和课程名称添加到del_course表中
时间: 2023-12-03 10:45:30 浏览: 231
可以使用如下 SQL 语句创建触发器:
```
CREATE TRIGGER course_tri
AFTER DELETE ON course
FOR EACH ROW
INSERT INTO del_course (course_id, course_name)
VALUES (OLD.course_id, OLD.course_name);
```
该触发器会在 `course` 表中删除一条记录后执行。它会将被删除的课程编号和课程名称插入到 `del_course` 表中。 `OLD` 是一个伪行,引用已被删除的行的值。因此, `OLD.course_id` 和 `OLD.course_name` 分别代表被删除的课程的课程编号和课程名称。
相关问题
创建触发器cno_tri,当更改表course中某门课的课程编号时,同时将score表中的课程编号全部自动更改
可以使用以下的 SQL 语句创建触发器:
```
CREATE TRIGGER cno_tri
AFTER UPDATE ON course
FOR EACH ROW
BEGIN
UPDATE score SET cno = NEW.cno WHERE cno = OLD.cno;
END;
```
这个触发器会在每次 course 表中的 cno 字段被更新时执行。它会将所有 score 表中的 cno 字段值为旧的 cno 的记录更新为新的 cno。其中,NEW 和 OLD 分别代表更新后和更新前的行数据。
创建触发器cno_tri,当更改表course中某门课的课程编号时,同时将score表中的课程编号全部自动更
触发器的创建语句如下:
```
CREATE TRIGGER cno_tri AFTER UPDATE ON course
FOR EACH ROW
BEGIN
UPDATE score SET cno = NEW.cno WHERE cno = OLD.cno;
END;
```
该触发器名为cno_tri,当course表中的某个课程的课程编号更新时,触发器将自动执行。每次更新一行,触发器都会被激活一次。
在触发器的代码块中,使用UPDATE语句将score表中与更新前课程编号相同的课程编号更新为更新后的课程编号。其中,OLD.cno表示更新前的课程编号,NEW.cno表示更新后的课程编号。
阅读全文