您的位置:首页 > 数据库

sqlite3触发器的使用

2017-07-28 23:37 344 查看
1.功能实现
利用触发器,来实现当某个表中的某个字段数据发生改变时执行特定的动作;
2.实现步骤
2.1 创建一个表COMPANY;

CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL, NAME TEXT
NOT NULL, AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);
2.2 插入数据到表COMPANY;
INSERT INTO COMPANY
(ID,NAME,AGE,ADDRESS,SALARY)VALUES
(1,
'Paul',
32,
'California',
20000.00
);
INSERT INTO COMPANY
(ID,NAME,AGE,ADDRESS,SALARY)VALUES
(2,
'Allen',
25,
'Texas',
15000.00
);
INSERT INTO COMPANY
(ID,NAME,AGE,ADDRESS,SALARY)VALUES
(3,
'Teddy',
23,
'Norway',
20000.00
);

2.3 创建一个表格AUDIT(用于记录当COMPANY 字段的数据发生改变时,AUDIT表记录触发的时间和ID信息)
CREATE TABLE AUDIT(
ID INT NOT NULL, ENTRY_DATE TEXT NOT NULL);

2.4 创建一个触发器audit_log
CREATE TRIGGER audit_log AFTER UPDATE OF NAME

ON COMPANY
BEGIN

INSERT INTO AUDIT(ID, ENTRY_DATE) VALUES (new.ID, datetime('now'));
END;
2.5 更新COMPANY 表NAME 字段的数据,触发事件的发生;
UPDATE COMPANY SET NAME='wzb' where ID=1 AND NAME!='wzb';
2.6 查看AUDIT 表中的数据
select * from AUDIT;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: