sqlite3触发器的使用

时间:2022-05-06 05:32:44
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;