SQLiteAfterUpdate(更新后)

SQLiteAfterUpdate(更新后) 首页 / SQLite入门教程 / SQLiteAfterUpdate(更新后)

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

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

教程推荐

Dubbo源码剖析与实战 -〔何辉〕

云原生架构与GitOps实战 -〔王炜〕

大厂广告产品心法 -〔郭谊〕

数据分析思维课 -〔郭炜〕

爆款文案修炼手册 -〔乐剑峰〕

重学线性代数 -〔朱维刚〕

DevOps实战笔记 -〔石雪峰〕

深入剖析Kubernetes -〔张磊〕

软件测试52讲 -〔茹炳晟〕

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