数据库_触发器和事件
本文所使用的数据库样例请参见数据源表
1.触发器
触发器是程序员设定的在特定条件下将会执行的语句集合
1.1 创建触发器语法
delimiter 99
create trigger trigger_name
after(before) trigger_event
on table_name
for each row
begin##sentence body
end 99
delimiter ;
备注
trigger_name可以是insert\update\delete
1.2 实例代码
DELIMITER 99CREATE TRIGGER myTreggerAFTER DELETE ON classFOR EACH ROWBEGINIF(old.`classNo`=1)THENDELETE FROM blur_class_student WHERE blur_class_student.`classNo`=1;END IF; END 99DELIMITER ;
备注
old 和 new 顾名思义表示表格中老的数据和新插入(删除、更新)的数据,具体列的名称可以通过 .
的方式,点出来
1.3 执行触发器
DELETE FROM class WHERE class.`classNo`=1;SELECT* FROM blur_class_student;SELECT* FROM class;
发现删除class表中班号为1的成员,blur_class_student表中班号为1的成员也会消失
本部分内容部分参考自trigger
1.4 其它语句
删除触发器
drop trigger trigger_name;
更新触发器
更新出发器采用删除重建的方式
2.事件
事件是指某时间或时间段内在数据库中插入一条记录(或者定时清楚数据库中无效的数据)
2.1 定义格式
使用前请在sql中执行以下语句
#表示打开全局事件
SET GLOBAL event_scheduler=1;
delimiter 99
create event event_name
on schedule `schedule`
on completion [not] preserve
enable(disable)
do
begin##sentence body
end 99
delimiter ;
2.1.1备注
备注1
schedule
可以是
- at+时间——用来完成单次的计划任务
- every+时间+(starts+时间+ends+时间)——用来完成重复的计划任务
获取当前时间-datetime\timestamp(详细说明请见文末)
时间的单位可以是 YEAR MONTH DAY HOUR MINUTE SECOND
备注2
on completion [not] presevre
表示当计划执行完成后事件信息是否保留
备注3
enable\disable
表示执行(不执行)该事件,也可以在外面设置是否执行,语句为:
alter event event_name enable(disable);
2.2 实例
SET GLOBAL event_scheduler=1;#已打开请忽略此句DELIMITER 99CREATE EVENT myEvent1ON SCHEDULE EVERY 2 DAY STARTS TIMESTAMP()+7 DAY ENDS TIMESTAMP()+1 MONTHON COMPLETION PRESERVEENABLEDO BEGININSERT INTO `engine_test` VALUES(DAY(NOW()),'sdf','wqer');END 99DELIMITER ;
2.3 其它语句
删除事件
drop event event_name;
更新事件
更新事件采用删除重建的方式
事件部分整理自事件
数据库_触发器和事件相关推荐
- 双 JK 触发器 74LS112 逻辑功能。真值表_【第十章】触发器和事件
Mosh_完全掌握SQL课程_学习笔记 数据概要 [第十章]触发器和事件 Triggers and Events (时长22分钟) 1. 触发器 Triggers (7:31) 小结 触发器是在插入. ...
- 【MySQL数据库设计与应用(六)】存储程序(存储过程,存储函数,触发器,事件)
文章目录 1 存储程序介绍 1.1 什么是存储程序 1.2 存储例程 1.3 触发器 1.4 事件 2 创建和调用存储过程 2.1 创建和调用存储过程 2.2 存储过程的参数模式 2.3 存储过程返回 ...
- mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除
[数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...
- mysql 修改数据库的数据库_如何更改MySQL数据库的数据库名
展开全部 被取消的命令MySQL 之前提供了一个 rename database db_old to db_new 的命令来直接对数据库改名,可能由于实现的功能不完备(比62616964757a686 ...
- 浅谈SQL Server 数据库的触发器
浅谈SQL Server 数据库的触发器 触发器的特征: 1.触发器是在对表进行增.删.改时,自动执行的存储过程.触发器常用于强制业务规则,它是一种高级约束,通过事件进行触发而被执行. 2.触发器 ...
- pl/sql操作数据库之触发器的使用
pl/sql操作数据库之触发器的使用 这篇文章讲述的是pl/sql操作数据库之触发器的使用,如有错误或不当之处,还望各位大神批评指正. 什么是触发器? 触发器是许多关系数据库系统都提供的一项技术.在O ...
- oracle数据库有触发器,Oracle数据库触发器(Triggers)
触发器是一种自动执行响应数据库变化的程序.可以设置为在触发器事件之前或之后触发或执行.能够触发触发器事件的事件包括下面几种: DML事件 DDL事件 数据库事件 DML事件触发器可以是语句或行级触发器 ...
- oracle触发器 触发事件,oracle 触发器的种类和触发事件
oracle触发器的种类和触发事件,DML触发器,DDL事件触发器,替代触发器,查看触发器 触发器的种类和触发事件 触发器必须由事件才能触发.触发器的触发事件分可为3类,分别是DML事件.DDL事件和 ...
- 数据库中触发器的作用是什么?
数据库中触发器的作用是什么? 什么是触发器 触发器是一种特殊的存储过程,只能由事件驱动调用,而无法直接调用. 触发器有什么用 当对数据库的相关对象(数据库.表.视图)进行某些特定的操作时,数据库会自动 ...
最新文章
- 吴恩达:企业如何实现人工智能转型?
- 雁栖湖会议研讨:计算机能代替程序员吗?
- Postfix的bcc邮件备份
- c 后台代码调用ajax,.NET Selenium WebDriver操作调用浏览器后台执行Js(JavaScript)代码...
- 《软件需求模式》阅读笔记一
- 机器人铁锈斑斑好吗_工业机器人系统运维员是什么职业?这个职业好吗?
- python_day_5:20180720
- RPC实现Consumer 远程调用
- HiveQL: 数据定义
- Python DearPyGui 多线程与异步
- C++基础::函数、类、类型所在的头文件 接口的介绍
- sudo修改文件夹名字_用 Python 高效智能管理文件夹
- java 从m个数中均匀找出n个数_M个数里面找出最大的N个数
- numpy——numpy.corrcoef
- otrs软件_开源 IT 服务管理软件(ITSM) - OTRS
- CTO 说公司的 ES 性能不够好、集群不够稳定!直到我用了这些调优技巧后。。。...
- 预测混合模式发展前景计算机,基于混合模式的网络流量分类优化-计算机技术专业论文.docx...
- 一分钟了解矩阵、方阵、对角矩阵、单位矩阵之间的关系
- pbe近似_量子化学中的主要近似
- LINUX基础之 压缩归档篇(二)