您好,欢迎访问一九零五行业门户网

SQLite3 设置插入触发器

需求: 数据库中表t_verifycsmdetail需要最多保存10w条记录,超出时删除最旧的那一条。思路:设置插入触发器。插入前先判断表中记
需求: 数据库中表t_verifycsmdetail需要最多保存10w条记录,超出时删除最旧的那一条。
思路:设置插入触发器。插入前先判断表中记录总数,如果大于99999条,则删除最旧的一条记录。
代码如下:
create trigger vrf_insert
before insert on t_verifycsmdetail
for each row 
when((select count(*) fromt_verifycsmdetail)>99999)
begin
  delete from t_verifycsmdetail where localno=(select min(localno) from t_verifycsmdetail);
end
其中,vrf_insert是触发器名;before表示在插入之前判断;for each row 可省略,,具体含义请百度;
when((select count(*) from t_verifycsmdetail)>1)表示当总记录数大于99999条时触发删除记录操作;
语句delete from t_verifycsmdetail where localno=(select min(localno)from t_verifycsmdetail);中,
t_verifycsmdetail是表名,localno为其中一个字段的字段名(在我的表中被设置为自增主键类型为int),
select min(localno) from t_verifycsmdetail表示在表中字段localno的最小值,
delete from t_verifycsmdetail wherelocalno=xx;表示删除此条记录。
注意:如果在begin和end之间有多条sql语句,则每条语句必须用分号隔开;end后面无需分号。
另外,一定要确保sqlite3已经被完整的移植到linux下。
我之所以刚刚开始触发器设置不成功,就是因为sqlite3静态库libsqlite3.so.0和执行sqlite3 的命令文件未放置在/lib和/bin下。
sqlite3中存储类型和数据类型结合文档解析 
sqlite3 安装、基本操作
ubuntu 12.04下sqlite数据库简单应用
ubuntu 12.04下安装 sqlite及其使用方法
sqlite 数据库入门基础教程
sqlite 的详细介绍:请点这里
sqlite 的下载地址:请点这里
本文永久更新链接地址:
其它类似信息

推荐信息