欢迎来到天天文库
浏览记录
ID:5298807
大小:202.34 KB
页数:2页
时间:2017-12-07
《数据库自定义完整性触发器的应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、科学时代数据库自定义完整牲触发器响应用李湘林罗耀军/柳州铁道职业技术学院[摘要]本文根据触发器的原理,针对关系数据库,分析了AFTER触发器和INSTEADOF触发器的设计方法,并通过这两类触发器的创建和应用,实现关系数据库的自定义完整性。同时在完成关系数据库触发器的应用中指出触发器的特点和使用注意事项,以便读者更好的设计使用关系数据库触发器。[关键词]关系数据库触发器设计和应用0.引言每个表或视罔的每个INSERT、DELETE、UPDATE操作只能定关系数据库定义的触发器是一种特殊类型的存储过程,其义一
2、个INSTEADOF触发器。在特定的表或视图上定义,当表中的数据被修改时,数据库管2.触发器的应用理系统(如SQLServer)会自动执行触发器。在实际应用中,2.1Inserted表和Deleted表有时需要根据情况的变化对表中的数据进行修改,对表中的数使用触发器时,SQLServer提供了两个特殊的临时表:据进行修改的操作包括INSERT、DELETE、UPDATE操作,如Inserted表和Deleted表。这两个表保存在高速缓存中,它们果对某个表的INSERT、DEIETE、UPDATE操作定义了触
3、发器,与触发器表具有相同的结构。在进行INSERT、DELETE、则对该表执行这些操作时,相应的触发器就会被自动执行。使UPDATE操作时,系统会根据操作情况来生成这两个表。用户用触发器可以实现更为复杂的数据完整性约束,可以完成使用可以使用这两个表来检查某些数据修改的效果,然后可以根据普通约束无法实现的复杂功能。效果采取相应的措施。用户只能查看Inserted表和Deleted表1.触发器的特点和类型中的数据,而不能直接对它们进行修改。1.1触发器的特点Inserted表:用于保存触发器表中被插入的记录。触
4、发器具有如下特点:Deleted表:用于保存触发器表中被删除的记录。(1)与一个表或视图相联系。触发器在特定的表或视图上执行INSERT操作时,插入到触发器表中的新记录同时被定义,这个表或视图称为触发器表或触发器视网。插入到Inserted表中;执行DELETE操作时,从触发器表中删(2)自动激活。如果对某个表的INSERT、DELETE、除的记录被插入到DeLeted表中;执行UPDATE操作时,等效UPDATE操作定义了相应的触发器,当对该表进行这些操作时,于从触发器表中删除一条记录,然后再插入一条新记
5、录,因此相应的触发器就会被自动执行。触发器表中的原记录(被删除的记录)被插人到Deleted表中,(3)不能直接调用。与一般的存储过程不同,触发器不能修改后的记录(新插入的记录)被插入到Inserted表。直接调用,也不能传递或接收参数。2.2AFTER触发器(4)是一个事务。触发器和激活它的语句作为一个事务处理,如果为表的INSERT、DELETE、UPDATE操作定义了可能从触发器巾的任何位置撤消。AFTER触发器,则在完成INSERT、DELETE、UPDATE操作后,1.2触发器的优点相应的AFTE
6、R触发器才会被激活。这种类型的触发器只能在触发器具有如下优点:表上定义,每个表可以创建多个AFTER触发器。f1)触发器可以强制定义比CHECK约束更为复杂的数据fI)INSERT触发器完整性约束。在数据库中要实现数据的完整性约束,可以使用INSERT触发器的工作过程如下:CHECK约束或触发器。在CHECK约束中,不允许引用其他表当向触发器表插人数据时,INSERT触发器被激活;中的列来完成数据的检查1二作,而触发器可以引用其他表中的新数据行被插入到触发器表和临时表Inserted中;列来完成数据的完整性
7、约束。执行触发器中定义的语句。(2)触发器可以实现数据库中多个表的级联更改。(2)DELETE触发器(3)触发器可以比较数据库修改前后的数据状态,并根据DELETE触发器的工作过程如下:其差异采取相应的措施。对于由INSERT、DELETE、UPDATE对触发器表执行DELETE操作时,DELETE触发器被激活;等语句引起的数据变化,触发器可以比较数据变化的前后状态,删除触发器表中的记录,并将被删除记录放人临时表因此用户可以在触发器中引用由于修改所影响的记录行,并采Deleted表中;取相应的措施。执行触发
8、器中定义的语句。(4)触发器可以使用自定义的错误信息。自定义的错误信f3)UPDATE触发器息可以指示一个动作的状态,这在应用程序的实现中具有重要UPDATE触发器的工作过程如下:的实用价值。通过使用触发器,用户可以捕获破坏数据完整性对触发器表执行UPDATE操作时,UPDATE触发器被激活;的操作,并返回预先自定义或动态自定义的错误信息。更新触发器表中的记录,并将原始记录放人临时表Deleted1_3触发器的类
此文档下载收益归作者所有