文件名称:表级触发器-the design and analysis of algorithms
文件大小:4.17MB
文件格式:PDF
更新时间:2024-06-29 04:38:53
达梦,DM7
13.2 表级触发器 表级触发器从触发的次数来分,可以分为语句级触发器和元组级触发器。语句级数据, 触发器只执行一次;元组级触发器,触发器触发的次数为受 DML操作影响的数据行数。 13.2.1语句级触发器 如果一个触发器在用户每次进行 DML 操作时被激发而且执行一次,而不管这个 DML 操 作影响了多少行数据,这个触发器就是语句级触发器。 语句级触发器有前激发和后激发两种形式。前激发是在 DML 操作执行之前被激发执行 的,后激发是在 DML操作执行之后被激发执行。无论是哪种形式,触发器都将执行一次。 例如,我们创建一个前激发触发器 stu_trg,当用户对表 students的 grade列进行 UPDATE操作时该触发器将被激发。 先创建基本表: CREATE TABLE students(sno int,grade int); Insert into students values(100,81); Insert into students values(100,82); Insert into students values(100,83); Insert into students values(100,84); Insert into students values(100,85); Insert into students values(101,89); Insert into students values(102,89); Insert into students values(103,89); Insert into students values(104,89); Insert into students values(104,100); Insert into students values(104,100); Insert into students values(104,100); 创建该触发器的语句为: CREATE TRIGGER stu_trg BEFORE UPDATE OF grade ON students FOR EACH STATEMENT BEGIN PRINT '您正在修改 students表中的 grade列'; END; 如果我们执行下面的 UPDATE语句: SQL> UPDATE students SET grade = 99 WHERE sno = 100; 那么会得到如下结果: