Heim > Datenbank > MySQL-Tutorial > Hauptteil

SQLite3 设置插入触发器

WBOY
Freigeben: 2016-06-07 15:10:28
Original
1135 Leute haben es durchsucht

需求: 数据库中表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 的下载地址:请点这里

本文永久更新链接地址

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!