需求: 数据库中表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 设置插入触发器的更多相关文章

  1. T450设置插入USB鼠标时自动禁用触摸板

    刚入手T450,打字时经常碰到触摸板,很是恼火,于是求助万能的度娘,找了卡饭基佬的教程,实测可行,大家可以试试.<win7下如何设置插入USB鼠标时自动禁用触摸板>,地址:www.kafa ...

  2. 自定义word快捷键,设置插入图片快捷键

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 自定义word快捷键,设置插入图片快捷键 文件→选项→自定义功能区 选择键盘快捷方式 自 ...

  3. mysqli_query($conn, "set names utf8"); //**设置字符集*** 不设置插入数据库就是乱码

    mysqli_query($conn, "set names utf8"); //**设置字符集*** 不设置插入数据库就是乱码

  4. SQL——触发器——插入触发器——边学边项目写的。

    需求: 项目表项目编码触发器编写 为项目表DwProject编写触发器,目的为当创建新项目时,且ProjectNo 为Null或空字符串时,自动创建项目编号,编号格式为4位年号,2位月份,2位顺序号, ...

  5. python2中在sqlite3中插入中文

    # -*- coding: utf-8 -*- import sqlite3 conn = sqlite3.connect('SWC_Perf_Info.db') cur = conn.cursor( ...

  6. 有人在贴吧问phpmyadmin如何设置插入的时候默认插入1条记录

    在新版phpmyadmin中(我的版本是3.5.1) 插入的时候会提示插入两条,能够方便操作,让你多录入几条数据,如图 然而有人不想要这个界面默认插入两条,如何改为1条或者其他呢? 我审查了这个元素标 ...

  7. Win10如何设置插入鼠标后自动禁用触摸板

    首先按“Windows+R”键,调出运行窗口.  然后输入“control”然后点击“确定”!  打开Win10控制面板  在“控制面板”中,选择“硬件和声音”!  选择“AUSU Amart Ges ...

  8. 笔记本如何设置插入USB鼠标自动禁用触摸板

    Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Synaptics\SynTPEnh] [HKEY_LOCAL_MAC ...

  9. sp_settriggerorder 设置触发器执行顺序

    sp_settriggerorder (Transact-SQL)     本主题适用于:SQL Server(从 2008 开始)Azure SQL 数据库Azure SQL 数据仓库并行数据仓库 ...

随机推荐

  1. 安装和配置JDK,并给出安装、配置JDK的步骤。

    1.从orcal网站下载安装包. 2.安装目录不要有汉字或空格 3.配置环境变量,增加·JAVA_HOME=jdk的全路径,修改path+%JAVA_HOME%\bin;%JAVA_HOME%\jre ...

  2. Js中获取对象的所有key值

    假如现在有一个对象 var obj = { A:2 ,B:"Ray" ,C:true ,D:function(){} } 如果想遍历对象obj中的所有键值,一般是用以下方式 for ...

  3. Invisible or disabled control cannot be activated

    在WPF 应用程序下出现:Invisible or disabled control cannot be activated(不见的或禁用的控件不能被激活)错误. System.ArgumentExc ...

  4. Spring中Template模式与callback的结合使用浅析

    Spring不论是与ibatis,还是与Hibernate的结合中,都使用到了Template模式与callback技术,来达到简化代码实现的目的.Template模式也即模板模式,用于对一些不太变化 ...

  5. 问题解决——ShowWindow不显示窗口

    配合任务栏通知区域. //MFC对话框程序 void CXXXDlg::OnShowHideUi() { // TODO: 在此添加命令处理程序代码 m_bShown=!m_bShown; ShowW ...

  6. p2p投资理财入门篇(新手必备)

    在互联网金融浪潮下,如果你只知道余额宝.理财通,如果你认为宝宝们就可以代表整个互联网金融,那可真是大错特错.这些年来,P2P这股强大势力一直在互联网金融领域兴风作浪,随着被高层正名.监管升级,P2P的 ...

  7. Windows环境下JDK安装与环境变量配置详细的图文教程

    原文作者:souvc博文出处:http://www.cnblogs.com/liuhongfeng/p/4177568.html 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1 ...

  8. TC79

    /* INSERT INTO TC79(PatientID,AdmissionDate,DischargeDate,Cost) SELECT * FROM ( SELECT 709,TO_DATE(' ...

  9. CentOS 6.5上MySQL安装部署与入门。

    centos 6.5 yum 安装mysql1. 安装软件:yum install -y mysql-server mysql mysql-devel2.启动服务:service mysqld sta ...

  10. Hadoop_HDFS架构和HA机制

    Hadoop学习笔记总结 01.HDFS架构 1. NameNode和ResourceManager NameNode负责HDFS,从节点是DataNode:ResourceManager负责MapR ...