成绩信息表 有:学号,课程号,成绩; 为成绩信息表创建一个基于UPDATE操作和DELETE操作的复合型触发器, --当修改了该表中的成绩信息或者删除了成绩记录时, --触发器激活生效,显示相关的操作信息。
时间: 2023-12-06 12:42:42 浏览: 62
14、为学生表创建触发器,要求: (1)当用户成功删除该表中的一条或多条记录时,触发器自动删
以下是基于UPDATE和DELETE操作的复合型触发器的代码:
```sql
CREATE TRIGGER grade_trigger
AFTER UPDATE, DELETE ON grade_info
FOR EACH ROW
BEGIN
DECLARE action_type VARCHAR(10);
DECLARE message VARCHAR(100);
IF OLD.grade <> NEW.grade THEN
SET action_type = '修改成绩';
ELSE
SET action_type = '删除成绩';
END IF;
SET message = CONCAT(action_type, ':学号为', OLD.student_id, '的学生在课程号为', OLD.course_id, '的课程中的成绩被', USER(), '操作');
INSERT INTO log_table(log_message) VALUES (message);
END;
```
当有成绩信息被修改或删除时,该触发器会将相关的操作信息插入到日志表中,包括操作类型、学生学号、课程号和操作者的用户名。
阅读全文