特殊的存储过程-触发器概述

所属分类: 数据库 / 数据库其它 阅读数: 99
收藏 0 赞 0 分享
本节将介绍一种特殊的存储过程,即触发器。

一、触发器的概念
触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,SQL Server就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。 

二、触发器的作用
触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能: 

A.强化约束
触发器能够实现比CHECK 语句更为复杂的约束。 

B.跟踪变化
触发器可以侦测数据库内的操作从而不允许数据库中未经许可的指定更新和变化。 

C.级联运行
触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如:某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入),而该操作又导致该表上触发器被触发。 

D.存储过程的调用

为了响应数据库更新,触发器可以调用一个或多个存储过程,甚至可以通过外部过程的调用而在DBMS本身之外进行操作。

由此可见,触发器可以解决高级形式的业务规则或复杂行为限制以及实现定制记录等一些方面的问题。例如,触发器能够找出某一表在数据修改前后状态发生的差异,并根据这种差异执行一定的处理。此外一个表的同一类型(INSERT、UPDATE、DELETE)的多个触发器能够对同一种数据操作采取多种不同的处理。

总体而言,触发器性能通常比较低。  

三、触发器的种类
SQL Server 2000支持两种类型的触发器:AFTER触发器和INSTEAD OF触发器。

AFTER触发器要求只有执行某一操作(INSERT、UPDATE、DELETE)之后,触发器才被触发,且只能在表上定义。可以为针对表的同一操作定义多个触发器。

INSTEAD OF触发器表示并不执行其所定义的操作(INSERT、UPDATE、DELETE),而仅是执行触发器本身。既可在表上定义INSTEAD OF触发器,也可以在视图上定义INSTEAD OF触发器,但对同一操作只能定义一个INSTEAD OF触发器。

注:在本实验中不讲INSTEAD OF触发器

更多精彩内容其他人还在看

sql注入之新手入门示例详解

这篇文章仅仅是对SQL注入进行了一个简单的入门知识的讲解,是sql注入的基础篇,有个好的开头能够帮助大家对SQL注入有一个具体清晰的了解和认识。下面来一起看看吧,有需要的可以参考借鉴。
收藏 0 赞 0 分享

sql注入之手工注入示例详解

之前和大家分享了基本的SQL注入的知识,这一篇讲的就是在得知注入点的之后,如何有效地进行脱裤。文章通过示例介绍的很详细,对大家的理解和学习很有帮助,下面来一起看看吧。
收藏 0 赞 0 分享

SQL注入之基于布尔的盲注详解

首先说明的盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入。盲注一般分为布尔盲注和基于时间的盲注。这篇文章主要讲解的是基于布尔的盲注。下面来一起看看吧。
收藏 0 赞 0 分享

node-mysql中防止SQL注入的方法总结

大家都知道SQL注入对于网站或者服务器来讲都是一个非常危险的问题,如果这一方面没处理好的话网站可能随时给注入了,所以这篇文章就给大家总结了node-mysql中防止SQL注入的几种常用做法,有需要的朋友们可以参考借鉴。
收藏 0 赞 0 分享

SQL中Having与Where的区别及注意

这篇文章给大家详细的介绍了SQL中Having与Where的区别,以及这两者的注意事项,文中还分享了Having与Where的示例代码,相信对大家的理解和学习很有帮助,感兴趣的朋友们可以参考借鉴,有需要的朋友们可以一起学习学习。
收藏 0 赞 0 分享

浅析sql server 公共表达式的简单应用

本文主要对sql server 公共表达式的简单应用进行介绍,具有一定的参考价值,有需要的可以看下
收藏 0 赞 0 分享

Mybatis查询延迟加载详解及实例

这篇文章主要介绍了Mybatis查询延迟加载详解及实例的相关资料,Mybatis的延迟加载默认是关闭的,即默认是一次就将所有的嵌套SQL一并查了将对象所有的信息都查询出来。开启延迟加载有两种方式,需要的朋友可以参考下
收藏 0 赞 0 分享

SQL注入详解(扫盲篇)

刚进公司的时候,研究的主要是SQL注入,因为之前没有搞过安全,所有费了好长一段时间对SQL注入基本知识进行了解。所以这篇文章并不是什么很深入的技术博客,或许应该叫它‘ SQL注入扫盲 ’有需要的朋友可以参考学习,下面来一起看看吧。
收藏 0 赞 0 分享

SQL注入绕过的技巧总结

这篇文章主要给大家总结了一些关于SQL注入绕过的技巧,其中包括引号绕过、逗号绕过以及比较符(<,>)绕过,文中给出了详细的介绍和示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享

利用reverse索引优化like语句的方法详解

这篇文章主要介绍了关于利用reverse索引优化like语句的方法,文中通过图文介绍的很详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享
查看更多