欢迎来到天天文库
浏览记录
ID:38348149
大小:394.81 KB
页数:30页
时间:2019-06-10
《项目八公司管理数据库系统中触发器的使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、项目八公司管理数据库系统中触发器的使用终极目标:1.会利用触发器保证公司管理数据库系统数据的完整性促成目标:1.能正确理解触发器的概念、功能和类型2.会使用企业管理器和Transact-SQL语句创建管理触发器一、触发器的概念触发器是一种特殊类型的存储过程,用于实现数据完整性的方法。共性:都是为了实现某个特定任务。特殊性:存储过程通过用存储过程名称被调用来执行,而触发器不能被显式的调用,是通过事件触发而被执行。数据完整性:是指存放在数据库中数据的一致性和准确性。二、触发器的主要功能实现数据库中相关表的级联操作强制实现比一般约束更为复杂的约束条件可以评估数据修改前后表的状态,并根据其差异采取对
2、策。如取消插入或修改数据。三、触发器的类型DELETE触发器INSERT触发器UPDATE触发器四、创建触发器的语法语法:CREATETRIGGERtrigger_nameON表名或视图名FOR{INSERT[,]
3、UPDATE[,]
4、DELETE}ASsql_statement[...n]指定新建触发器名称指在其上执行操作的表或视图指定以下操作都成功后激活该触发器指定在表或视图上执行何种操作时激活该触发器指触发器将要执行的动作指触发器激活后执行的一条或若干条SQL语句指定要操作的表或视图五、创建触发器1.使用企业管理器创建触发器2.利用Transact-SQL语句创建触发器【例1】对p_or
5、der表创建名为“例1”的触发器,如果删除p_order表中的记录,那么就显示product表中的所有产品的信息。1)用鼠标右击p_order表
6、【所有任务】
7、【管理触发器(T)...】命令。2)在打开的“触发器属性”对话框中的“名称”文本框中选择“新建”,然后在文本框中输人以下创建触发器命令。CREATETRIGGER例1ONp_orderFORdeleteASselect*fromproduct3)单击“检查语法”检查语句是否正确。4)单击“应用”按钮,在“名称”下拉列表中会有新创建的reminder触发器名字。5)单击“确定”按钮,关闭窗口,创建成功。1、使用企业管理器创建触发器【例2】
8、对p_order表创建名为“例2”的触发器,如果往p_order表中插入一条记录,那么显示P_order表插入数据后的情况。1)用鼠标右击p_order表
9、【所有任务】
10、【管理触发器(T)...】命令。2)在打开的“触发器属性”对话框中的“名称”文本框中选择“新建”,然后在文本框中输人以下创建触发器命令。CREATETRIGGER例2ONp_orderFORinsertASSelect*fromp_order3)单击“检查语法”检查语句是否正确。4)单击“应用”按钮,在“名称”下拉列表中会有新创建的reminder触发器名字。5)单击“确定”按钮,关闭窗口,创建成功。任务:1、建立触发器名为项
11、目8_1,如果删除employee表中的雇员的记录,那么显示在p_order表中订货数量大于50的订单的所有信息。2、建立触发器名为项目8_2,如果往customer表中插入一行记录,那么显示在employee表中所有女雇员的信息。3、建立触发器名为项目8_3,如果更新p_order表中记录字段值,那么显示在product表中库存量大于300的产品的产品名、单价、库存量信息。4、建立触发器名为项目8_4,如果删除p_order表中记录,那么显示product表中产品id为“002”的产品信息。补充知识:INSERTED表和DELETED表1、两表特点执行触发器时,SQLServer系统会创建两
12、个特殊的临时表:inserted表和deleted表。它们驻留在内存中,两个表的结构与触发器作用的表的结构相同。用户不能对它们修改,但可以从表中获取数据。触发器工作完成后,与此触发器相关的这两个表会被删除。2、两表内容:Inserted表:保存插入到表中的记录。当向表中插入数据时,INSERT触发器激活执行,新的记录插入到激活触发器的表中,同时也插入到Inserted表中。Deleted表:保存已从表中删除的记录。当触发一个DELETE触发器时,被删除的记录存放到deleted表中。修改一条记录等于插入一条新记录,同时删除旧记录。所以对定义了UPDATE触发器的表进行修改时,表中的原记录移到d
13、eleted表中,修改过的记录插入到表中,同时也插入到inserted表中。3、操作比较操作类型INSERTED表DELETED表INSERT添加的记录构成没有DELETE没有删除的记录构成UPDATE更新后的记录构成更新前的记录构成2.利用Transact-SQL语句创建触发器1)使用INSERT触发器当触发INSERT触发器时,新的数据行就会被插入到触发器表和inserted表中。五、创建触发
此文档下载收益归作者所有