SQLite - After Update(更新后)

SQLite - After Update(更新后) 首页 / SQLite入门教程 / SQLite - After Update(更新后)

它指定在更新数据后如何创建触发器。假设无涯教程有两个表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;
Sqlite Trigger after update 1

现在更新旧记录,如下所示:

UPDATE COMPANY SET ADDRESS = 'Noida' WHERE ID = 1; 
Sqlite Trigger after update 2

查看结果 

Sqlite Trigger after update 3

查看触发器: 

SELECT name FROM sqlite_master
WHERE type = 'trigger'; 
Sqlite Trigger after update 4

如果要在更新数据之前创建触发器,请执行以下操作:

CREATE TRIGGER befor_up BEFORE UPDATE 
ON COMPANY
BEGIN
INSERT INTO AUDIT(EMP_ID, ENTRY_DATE) VALUES (new.ID, datetime('now'));
END;
Sqlite Trigger after update 5

查看触发器:

SELECT name FROM sqlite_master
WHERE type = 'trigger';      
Sqlite Trigger after update 6

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕

JavaScript核心原理解析 -〔周爱民〕

后端技术面试 38 讲 -〔李智慧〕

TensorFlow 2项目进阶实战 -〔彭靖田〕

高楼的性能工程实战课 -〔高楼〕

性能优化高手课 -〔尉刚强〕

Redis源码剖析与实战 -〔蒋德钧〕

快手 · 音视频技术入门课 -〔刘歧〕

结构会议力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)