它指定如何更新后创建触发器的数据。假设我们有两个表公司治理与审计,在这里我们要保持审计审判对每条记录在公司表进行更新。
COMPANY表:
CREATE TABLE COMPANY(
ID INT PRIMARY KEYNOT NULL,NAMETEXTNOT NULL,AGEINTNOT NULL,ADDRESSCHAR(50),SALARYREAL
);
创建新表命名审计哪里每当有运营商表的更新用日志消息将被插入。
审计表:
CREATE TABLE AUDIT(
EMP_ID INT NOT NULL,ENTRY_DATE TEXT NOT NULL
);
更新后创建触发器:
使用以下语法创建一个名为“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;
【SQLite After Update触发器】见触发器:
SELECT name FROM sqlite_master
WHERE type = 'trigger';
推荐阅读
- SQLite的COUNT函数
- SQLite的GROUP BY子句
- SQLite的now()函数
- SQLite的datetime()函数
- SQLite的外连接查询
- SQLite的juliandday()函数
- SQLite的date()函数
- SQLite的交叉连接查询
- SQLite的内连接查询