SqlServer学习之触发器
什么是触发器?
根据百度百科的解释,触发器是SqlServer提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,他的执行不是有程序调用,也不是手工启动,而是由事件来出发,比如当对一个表进行增删改时就会激活它执行。触发器经常用于加强数据的文整形越是和业务规则等,触发器可以从DBA_TRIGGERS,USER_TRIGGERS 数据字典中查找到,Sql3的触发器是一个能由系统自动执行对数据库修改的语句。
触发器与存储过程唯一的区别就是,触发器无法通过EXECUTE语句执行,而是在用户执行Transact_sql语句时自动触发。
触发器的分类:
- DML(数据操纵语言 Data Manipulation Language)触发器
当数据库中表的数据发生变化时(Update、Insert、Delete)触发;主要用来强制执行业务规则,拓展约束,默认值等,因为约束只能约束同一张表的内容,而触发器则可以执行任意sql命令;
- DDL(数据定义语言 Data Definition Language)触发器
在数据库结构发生变化时触发,主要用来记录数据库的修改过程,以及限制程序员对数据库的修改,比如不允许删除某些指定表等。
- 登陆触发器
主要响应登陆事件,如果登录失败则不触发登陆触发器。
触发器的优点?
1、触发器可以通过数据库中的相关表实现级联更改;通过级联引用完整性约束可以有效地执行这些更改;
2、可以实现比check越是定义的约束更为复杂的约束;
3、触发器可以引用其他表中的列;
4、触发器可以评估数据修改前后的表状态,并根据其差异采取对策。
触发器的缺点?
1、在进行数据库导入导出的时候,可能会引起不必要的触发器逻辑。
触发器的写法
create trigger trigger_name
on {table_name view_name}
{for After Instead of }
[ insert, update,delete ]
as
sql_statement
SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行 完成后﹐与该触发器相关的这两个表也被删除。
Deleted表存放由于执行Delete或Update语句而要从表中删除的所有行。
Inserted表存放由于执行Insert或Update语句而要向表中插入的所有行。
SqlServer学习之触发器相关推荐
- SQLServer学习笔记系列6
一.写在前面的话 时间是我们每个人都特别熟悉的,但是到底它是什么,用什么来衡量,可能很多人会愣在那里.时间可以见证一切,也可以消磨一切,那些过往的点点滴滴可思可忆.回想往年清明节过后,在家乡的晚上总能 ...
- SQLServer学习笔记系列2
SQLServer学习笔记系列2 一.写在前面的话 继上一次SQLServer学习笔记系列1http://www.cnblogs.com/liupeng61624/p/4354983.html以后,继 ...
- mysql 数据库学习(触发器)
引用:http://bbs.mysql.cn/thread-9135-1-2.html 引用:21. 触发程序 create table a (sa int); create table b (sb ...
- SQLServer学习笔记系列5
一.写在前面的话 转眼又是一年清明节,话说"清明时节雨纷纷",武汉的天气伴随着这个清明节下了一场暴雨,整个城市如海一样,朋友圈渗透着清明节武汉看海的节奏.今年又没有回老家祭祖,但是 ...
- SQLServer学习-- SQLServer
SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行M ...
- SqlServer基础之(触发器)
概念: 触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触 ...
- SqlServer学习笔记【暂】
Sql学习笔记,暂时先保存在着,等不忙了再整理成章节,如果其中有问题的,还请各位大神不吝赐教! 1 --------------------------------------所有的数据基于North ...
- SQLServer学习笔记系列4
一.写在前面的话 好多天没有记录sql学习笔记了,要坚持下去,坚信每一点的进步都是为在积蓄力量.今天看到一幅图,特此分享出来. 通过这幅图,我看到的是每人站在自己的角度看问题,感受是不一样的,就如同学 ...
- (转)SqlServer基础之(触发器)(清晰易懂)
阅读目录 一:触发器的优点 二:触发器的作用 三:触发器的分类 四:触发器的工作原理 五:创建触发器 六:管理触发器 概念: 触发器(trigger)是SQL server 提供给程序员和数据分析 ...
最新文章
- Ext Tree异步树的增加修改删除的简单实现~
- [蓝桥杯]算法提高 秘密行动(动态规划)
- matlab数据游标属性设置,将节点属性添加到图论图数据提示
- 临汾移动搜索引擎推广_竞价信息流移动搜索推广分析!
- 内存映射文件 写入 卡住_在Java中使用内存映射文件时检测(写入)失败
- dp之二维背包poj1837(天平问题 推荐)
- wow修改人物模型_抖音爆款心法:一个模型+五组案例
- Springboot 打包成jar以后,读取resources里的文件夹
- jQuery中的attr()与prop()设置属性、获取属性的区别
- CVPR2021 Oral|开放世界中的目标检测
- 华为 BGP路由聚合
- 改了计算机名字后重启断网了,电脑断网重启就好了是什么回事
- 最新图片交替闪现效果代码
- ffmpeg隔几秒取一帧
- 架构师如何练习演讲和表达能力
- 正则表达式必看书籍推荐
- (7)点云数据处理学习——单摄像头深度估计
- QT pro文件和pri文件的区别
- Linux下的通信时延测试程序
- Amadis发布OLA支付处理标准