对Student1表建立触发器,保证每个学生的年龄都大于18岁。用SQL语句验证此触发器
时间: 2024-03-06 14:51:17 浏览: 41
可以使用下面的 SQL 语句创建触发器来保证每个学生的年龄都大于18岁:
```sql
CREATE TRIGGER age_check
BEFORE INSERT OR UPDATE ON Student1
FOR EACH ROW
BEGIN
IF NEW.age <= 18 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Age must be greater than 18';
END IF;
END;
```
这个触发器将在每次插入或更新 Student1 表时执行。如果插入或更新的学生年龄小于等于 18,那么触发器会抛出一个异常,阻止操作的执行。
为了验证这个触发器是否生效,可以尝试插入一个年龄小于等于 18 的学生记录,例如:
```sql
INSERT INTO Student1 (name, age) VALUES ('Tom', 18);
```
如果触发器生效,那么该插入语句会失败,并返回一个错误消息,提示年龄必须大于 18。