- SQLite快速入门
- SQLite是什么?
- SQLite历史
- SQLite特性/为什么要使用SQLite?
- SQLite优点和缺点
- SQLite安装
- SQLite命令大全
- SQLite语法大全
- SQLite数据类型
- SQLite运算符
- SQLite表达式
- 数据库和表
- CURD操作
- 子句和条件
- 连接操作
- SQLite时间日期
- 聚合函数
- SQLite触发器
- SQLite主键
- SQLite导出导入
- SQLite连接程序
SQLite触发器(删除之前/之后)
SQLite触发器(删除之前/之后)指定如何在删除数据后执行触发器。假设有两个表: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
表的语句如下 -
CREATE TABLE audit( EMP_ID INT NOT NULL, BEFORE_VAL TEXT NULL, ACTION_TYPE TEXT NULL, ENTRY_DATE TEXT NOT NULL );
创建删除后触发器:
在删除操作后,使用以下语法在company
表上创建名为“after_del
”的触发器,当删除company
表中的一条记录成功之后,就会将这条删除的名称记录到audit
表中。
CREATE TRIGGER after_del AFTER DELETE ON COMPANY BEGIN INSERT INTO AUDIT(EMP_ID, BEFORE_VAL, ACTION_TYPE, ENTRY_DATE) VALUES (old.ID, old.name, 'AFTER DELETE', datetime('now')); END;
先插入一条数据,以供后面删除使用 -
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Maxsu', 24, 'Haikou', 40000.00); -- 删除记录,触发上面定义的触发器 delete from company where id=1; -- 查询删除记录的执行结果 select * from company; -- 查询删除记录之后的审计记录情况 select * from audit;
完整的执行过程如下图中所示 -
下一篇:SQLite删除触发器
关注微信小程序
扫描二维码
程序员编程王