电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

SQL触发器VIP免费

SQL触发器_第1页
1/24
SQL触发器_第2页
2/24
SQL触发器_第3页
3/24
SQL第 16章SQL触发器前面已经介绍过了表、视图、存储过程以及函数的创建。一般而言,创建这些对象后,需要配置一些对应的操作。例如,执行 SELECT语句查询数据,执行 EXEC命令执行存储过程等。SQL也支持自动执行的对象,对数据的更改作出反应,即触发器。16.1触发器的基本概念触发器是一种特殊的存储过程,它在表的数据变化时发生作用。触发器可以维护数据完整性。16.1.1触发器简介触发器在数据库里以独立的对象存储,与存储过程不同的是,存储过程通过其他程序来启动运行,而触发器是由一个事件来启动运行。即当某个事件发生时,触发器自动地隐式运行。并且,触发器不能接收参数。触发器对象定义了触发器的特征和被调用时采取的行动。而这些动作是通过一个或多个SQL语句来实现的。SQL支持 3种类型的触发器:INSERT(插入)、UPDATE(更新)和DELETE(删除)。当向表中插入数据、更新数据或删除数据时,触发器就被调用。通过给表定义一个或多个触发器,可以指定哪个数据修改时,可以激发触发器。16.1.2触发器执行环境触发器执行环境包含了触发器正确执行所必需的信息。这些信息主要是触发器本身的细节和触发器所定义的目标表。另外,触发器执行环境还包括一个或两个测试表,称之为 INSERTED表和 DELETED表。测试表是虚表,用于保存目标表更新、插入或删除的数据信息。这些测试表用来测试数据修改的结果,以及设置触发器行动的条件。用户不能直接修改测试表中的数据,但能在 SELECT语句中,使用这些表来检测 INSERT,UPDATE或 DELETE的结果。各种类型触发器用到的测试表如图 16.1所示(针对 SQLServer数据库系统而言)。326第 16章SQL触发器SQL** …新数据INSERTtrigger表Insered表** …被删除数据DELETEtrigger表Deleted表** …被删除数据UPDATEtrigger表Deleted表新数据(修改的数据)Insered表修改的数据图 16.1触发器测试表deleted表存放了 DELETE和 UPDATE语句中相关行的副本。在 DELETE或 UPDATE语句的执行中,这些相关行从 trigger表中移到了 deleted表中。一般情况下,这两张表中无共同行。insertded表存放了 INSERT和 UPDATE语句中的副本。在 INSERT或 UPDATE语句的执行中,这些新行同时被加到 inserted表和 trigger表中。inserted表中的行是 trigger表中新行的副本。一个 UPDATE效果上等价于一个 DELETE再接着一个 INSERT。首先“旧”行被复制到 deleted表中,然后新行被复制到 trigger表和 inserted...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部