-- 使用触发器实现检查约束, -- 选择studentsdb数据库,在向grade插入记录时,分数字段的值只能为空,或者取值0-100。 -- 如果分数字段的值不满足要求,小于0则填入0,大于100则填入100。 use studentsdb; 触发事件 insert 触发时机 before create trigger t1 before insert on grade for each row begin if new.分数<0 then set new.分数=0; elseif new.分数>100 then set new.分数=100; end if; end; -- 激活触发器 insert into grade(学号,课程编号,分数) values('0004','0001',250);
时间: 2024-04-21 21:26:03 浏览: 65
数据库原理-实验四-存储过程与触发器、函数.doc
5星 · 资源好评率100%
这是一个使用触发器实现检查约束的示例。在这个例子中,我们创建了一个名为t1的触发器,它在向grade表中插入记录之前触发。如果插入的分数值小于0,则将其设置为0;如果分数值大于100,则将其设置为100。这样就可以保证分数字段的值只能为空,或者取值0-100。
当我们插入(学号,课程编号,分数)值为('0004','0001',250)的记录时,触发器会将分数值设置为100,因为250大于100。最终插入的记录为('0004','0001',100)。
注意,在使用触发器实现检查约束时,需要谨慎操作,避免影响已有数据的完整性。
阅读全文