一、触发器的定义
触发器(TRIGGER)是由事件来触发某个操作。这些事件包括INSERT语句、UPDATE语句和DELETE语句。当数据库系统执行这些事件时,会激活促发其执行相应的操作。达梦数据库的触发器包括:库级别、表级别、模式级别、视图级别。下面主要讲解下库级别、表级别的触发器。
二、触发器的创建案例
1、库级触发器的创建。对数据库进行drop操作,创建触发器,把操作信息进行记录。
(1)我们先创建一个TB_CHANGE表触发时进行信息记录的表。表不要创建在SYSDBA下,我们创建在DMHR这个模式下。
CREATE TABLE TB_CHANGE(USER_NAME VARCHAR(50),OPERATE_TIME DATETIME);
如下图:
(2)创建触发器
(3)填写触发器名称,选择需要触发的事件,如下图:
(4)编写触发体,点击【确定】按钮,完成触发器的创建。
(5)我们进行测试,新建一张测试表,然后查看TB_CHANGE是否有记录信息。如下图:
2、案例:创建表级别的触发器,在DMHR模式下当修改EMPLOYEE的电话号码时,触发记录旧的电话号码及新的电话号码。
在TB_CHANGE表中增加旧的电话号码列及新的电话号码列
(1)、创建表级别触发器
(2)选择要触发的事件、触发的表、触发的字段及触发的级别,如下图:
旧行别名、新行别名建议大写,本人用小写出错。
(3)编写触发体
(4)、修改EMPLOYEE表,测试触发器是否被触发
看到表中已经记录了新、旧电话号码,表级别触发器创建成功。