1.创建触发器保证学生表中的性别仅能男和女。创建触发器当输入某个同学的高考成绩时如果软件工程的学生高考成绩自动加5部门编号2执行以上存储过程结果的SQL语句。
- 创建触发器:
CREATE TRIGGER gender_check
BEFORE INSERT ON student
FOR EACH ROW
BEGIN
IF NEW.gender NOT IN ('男', '女') THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '性别只能为男或女';
END IF;
END;
创建触发器,当输入某个同学的高考成绩时,如果软件工程的学生,高考成绩自动加5部门编号:
CREATE TRIGGER score_increase
BEFORE INSERT ON student
FOR EACH ROW
BEGIN
IF NEW.department = '软件工程' THEN
SET NEW.score = NEW.score + 5;
END IF;
END;
- 执行存储过程的SQL语句:
CALL add_student('张三', '男', '软件工程', 600);
执行以上存储过程的SQL语句后,会将一个名为张三、性别为男、所在部门为软件工程、高考成绩为605的学生插入到学生表中。触发器 score_increase 会自动将该学生的高考成绩加5,最终插入的结果为:
| id | name | gender | department | score | |----|------|--------|----------------|-------| | 1 | 张三 | 男 | 软件工程 | 605
原文地址: https://www.cveoy.top/t/topic/eH8b 著作权归作者所有。请勿转载和采集!