在student表上创建一个触发器(stud_insert),实现当插入一个学生学生记录的时候,保证学生的年龄只能是16~40岁,性别只能是男或女。
时间: 2023-12-06 19:45:00 浏览: 40
学生数据输入
可以使用以下 SQL 语句在 student 表上创建触发器:
```
CREATE TRIGGER stud_insert
BEFORE INSERT ON student
FOR EACH ROW
BEGIN
IF NEW.age < 16 OR NEW.age > 40 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '年龄必须在16到40岁之间';
END IF;
IF NEW.gender NOT IN ('男', '女') THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '性别必须是男或女';
END IF;
END;
```
该触发器在插入学生记录之前触发,判断学生的年龄和性别是否符合要求,若不符合则抛出异常并阻止插入。其中,使用 SIGNAL 语句抛出异常,并指定 SQLSTATE 和 MESSAGE_TEXT,便于后续处理。
阅读全文