关系型数据库MySQL(三)_触发器
2024-10-07 15:59:09
简介
用来给保证数据完整性的一种方法,经常用于加强数据的完整性;
是与表事件相关的特殊的存储过程,与存储过程的唯一区别是触发器不能执行execute语句调用,而是在用户执行SQL语句时自动触发执行
执行条件
不是程序调用,也不是手工启动,而是由事件触发,比如当对一个表进行操作时(insert, delete, update)就会激活它的执行
触发器的类型
DML触发器,DDL触发器,登录触发器
触发器分为
before触发器(在事件发生时触发)
after触发器(在事件发生后触发)
DML触发器
当表中的数据发生变化时,包括insert,update,delete等,如果我们对该表写了对应的DML触发器,那么该触发器自动执行
作用:强制执行业务规则,以及扩展SQL server约束,默认值等
语法结构
create trigger trigger_name
before/after
insert/delete/update on table_name
for each row
begin
一句或多句SQL语句
end;
DDL触发器
主要用于审核与规范对数据库中表,触发器,视图等结构上的操作,包括修改表,修改列,新增表,新增列等,它在数据库结构发生变化时执行
作用:记录数据库的修改过程,以及限制程序员对数据库的修改
登录触发器
为相应login事件而激发存储过程,登录触发器将在登录的身份验证阶段完成之后且用户会话实际建立之前激发,如果身份验证失败,将不激发登录触发器
查看触发器
show trigger
删除触发器
drop trigger trigger_name
最新文章
- Centos 使用YUM安装MariaDB
- 记一些之前忘记积累的问题(fiddler 学习、XP系统不能上网、XP不能装fiddler、注册表快速找到)
- Javascript use strict模式和对象
- Thinking in Java from Chapter 15
- nginx缓存模块配置总结proxy_cache(未完)
- 2016年最好的15个Web设计和开发工具
- XSS攻击及防御(转)
- NOIP2012 同余方程
- 一个不错的flash 模板
- HtmlAgilityPack实战代码
- 简单粗暴的“Debug模式”
- MySQL、PHP入门
- spring之注解详解
- MVC设计模式思想及简单实现
- redis 系列14 有序集合对象
- 学习安卓开发[3] - 使用RecyclerView显示列表
- expprt与环境变量
- javascript的数组之join()
- SQLServer数据库
- oracle数据库查询语句case的用法
热门文章
- [Linux] 020 RPM 包的命名原则与其依赖性
- Struts2之获取ServletAPI
- Python_pickle
- NGUI的输入框的校验(input filed script)
- 求解:为什么impala实现hive查询 可以使用ifnull()函数,不可以使用length() 函数
- 使用grunt0.4进行js代码混淆
- 浏览器报406 错误:The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request ";accept"; headers
- 312-金胜维 P系列2.5寸 480G SATA3 SSD固态硬盘
- 【串线篇】SQL映射文件select简单查询标签
- hdu 4235 容斥原理模板题