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;