存储过程和触发器
一、引言
首先就本质而言,触发器也是一种存储过程。存储过程在运算时生成其执行方式,所以,它再运行时执行速度更快。
二、存储过程概述
存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数来执行它。
存储过程分为两类:系统提供的存储过程和用户自定义的存储过程。
三、创建存储过程
一种是通过企业管理器,另一种是通过使用SQL命令Create Procedure..
存储过程被创建以后,它的名字存储在系统表sysobjects中,它的源代码存放在系统表syscomments中。
四、触发器
4.1触发器的原理:
每个触发器都有两个特殊的表:插入表和删除表。这两个表是逻辑表,由系统管理,存储在内存中,而不是存储在数据库中,因此不允许用户对其进行修改。这两个表的结构与被该触发器作用的表的结构是一样的
4.2插入表的功能
对于一个定义了插入类型触发器的表来讲,一旦对该表进行了插入操作,那么对向该表插入的所有行来说,都一个相应的副本存放到插入表中。所以插入表就是用来存储向原表插入的内容。
4.3删除表的功能
同理,删除表就是存储那些删除的行。