它指定在更新数据后如何创建触发器。假设无涯教程有两个表COMPANY和AUDIT,在这里希望对COMPANY表中正在更新的每个记录保持审计试用。
COMPANY表:
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
创建一个名为AUDIT的新表,当COMPANY表中有更新时,将在其中插入日志消息。
审核表:
CREATE TABLE AUDIT( EMP_ID INT NOT NULL, ENTRY_DATE TEXT NOT NULL );
更新后创建触发器:
更新操作后,使用以下语法在COMPANY表上创建名为" after_up"的触发器。
CREATE TRIGGER after_up AFTER UPDATE ON COMPANY BEGIN INSERT INTO AUDIT(EMP_ID, ENTRY_DATE) VALUES (new.ID, datetime('now')); END;
现在更新旧记录,如下所示:
UPDATE COMPANY SET ADDRESS = 'Noida' WHERE ID = 1;
查看结果
查看触发器:
SELECT name FROM sqlite_master WHERE type = 'trigger';
如果要在更新数据之前创建触发器,请执行以下操作:
CREATE TRIGGER befor_up BEFORE UPDATE ON COMPANY BEGIN INSERT INTO AUDIT(EMP_ID, ENTRY_DATE) VALUES (new.ID, datetime('now')); END;
查看触发器:
SELECT name FROM sqlite_master WHERE type = 'trigger';
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕