SQLite After Update触发器
After Update触发器 指定如何在更新数据后创建触发器。假设我们有两个表 COMPANY 和 AUDIT,这里我们想对 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
);
After Update创建触发器:
使用以下语法在更新操作后在 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';
SQLite 触发器:BEFORE UPDATE
如果要在更新数据之前创建触发器:
CREATE TRIGGER befor_up BEFORE UPDATE
ON COMPANY
BEGIN
INSERT INTO AUDIT(EMP_ID, ENTRY_DATE) VALUES (new.ID, datetime('now'));
END;
查看触发器:
热门文章
优秀文章