欢迎投稿

今日深度:

[SQL]触发器入门介绍——特殊的存储过程,sql触发

[SQL]触发器入门介绍——特殊的存储过程,sql触发器


  触发器是一种特殊类型的存储过程,它的功能是在指定的表中的数据发生变化时自动生效。

  触发器与普通存储过程的不同之处在于——触发器的执行时由事件触发,而普通存储过程是由命令调用执行(EXEC)

  SQL Server主要提供了一下两种触发器

1)DML触发器

2)DLL触发器

当数据库中发生数据操作语言DML事件的时候即执行DML触发器。DLL触发器是SQL Server 2005以后新增的触发器类型,它在响应数据定义语言DDL时触发。

主要讲解DML触发器,又分为三种:

1)AFTER触发器,故名思义,为修改数据时触发的

2)INSTEAD of触发器 执行INSTEAD OF触发器代替通常的触发动作。

3)CLR触发器,他就是万金油,到处都算他的,AFTER 、INSTEAD OF,甚至有一些DLL触发器也算在他里面了,设计者当初为啥这样设计就不得而知了。


下图是INSTEAD OF触发器和AFTER触发器的功能比较



sql视图 存储过程 触发器各自的优点是什?

视图的优点:

提高数据安全性,可以不让用户看到表中的某个字段。比如password,你只给他们执行视图的权限,不给执行表的权限,他们就无法查看全部数据。

还有可以建立一个视图,内容包括两个表,更新的时候只需要指定ID,而不用管它来自哪个表,对应表中的数据就会自动更新。

存储过程的优点:

包括视图的所有优点,还可以让不懂数据库的人也能也用数据库,还有就是方便程序计设,比如我负责前台程序设计,你负责写存程,我不用管你是怎么写,最后只接调用,我们分工明确,我也不需要懂你所懂的,这为用不懂语言和不同专业的人在一起合作提供了良好的平台。提高开发效率。

触发器的优点:

保证数据的正确性和逻辑,比如订单表中新增一条数据,对应在库存表中会减少一个产品一样。
还有保证数据的安全性,比如当用户删除表A,我们可以判断他是否为Admin组的用户,如果不是,就会给出错误的提示,并将事务回滚。

我知道的就这么多了。。。嘿嘿。
 

助 SQL 存储过程中触发器语句详解

楼上的二位都是高人,指点的太简单!
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4072.html NewsArticle [SQL]触发器入门介绍——特殊的存储过程,sql触发器 触发器是一种特殊类型的存储过程,它的功能是在指定的表中的数据发生变化时自动生效。 触发器与普通存储过程的不同之处在于—...
评论暂时关闭