mysql对SC1建立触发器,年龄大于20岁的学生才能选“Database”这门课。用SQL语句验证此触发器。
时间: 2024-03-07 11:49:02 浏览: 196
mysql触发器教程
3星 · 编辑精心推荐
假设SC1表中包含字段:学生姓名(name)、学生年龄(age)、选课名称(course_name)。
创建触发器的SQL语句如下:
```
CREATE TRIGGER tr_select_course
BEFORE INSERT ON SC1 FOR EACH ROW
BEGIN
IF NEW.course_name = 'Database' AND NEW.age <= 20 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '年龄大于20岁的学生才能选“Database”这门课';
END IF;
END;
```
这个触发器会在插入新记录之前进行检查,如果插入的课程名称为“Database”且学生年龄小于等于20岁,则会抛出一个错误信息。
我们可以通过插入一条符合条件的记录来测试触发器:
```
INSERT INTO SC1 (name, age, course_name) VALUES ('小明', 19, 'Database');
```
此时会抛出一个错误信息,表示年龄不符合要求。如果将年龄改为大于等于20岁,则不会抛出错误信息,插入操作可以成功完成。
阅读全文