- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第10章触发器课件.ppt
回顾 1.约束 2.默认 3.规则 4.事务处理 第10章 触发器 本章学习目标: 了解触发器的含义 熟练掌握触发器的创建 理解触发器的工作原理 理解触发器的作用 学会管理触发器 10.1 触发器简介 触发器是一种特殊类型的程序,主要是通过事件进行触发而被执行的,当对一张表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。 触发器的功能 强制复杂的业务规则或要求,实现复杂的参照完整性和数据的一致性 强化约束 跟踪变化 级联运行 存储过程的调用 使用触发器的优点 触发器是自动的 触发器可以通过数据库中的相关表进行层叠更改 触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂 10.2 创建触发器 采用企业管理器创建 举例创建一个触发器 采用SQL语句创建 语法格式 : CREATE TRIGGER name { BEFORE | AFTER } { event [OR ...] } ON table [ FOR EACH { ROW | STATEMENT } ] EXECUTE PROCEDURE func ( arguments ) 例: CREATE TRIGGER xxx ON dbo.学生基本情况表 FOR INSERT AS select * from 学生基本情况表 return /*创建触发器*/ CREATE TRIGGER xxx ON dbo.成绩表 FOR INSERT AS select * from 成绩表 return /*激发触发器*/ insert 成绩表 values(200504,K007,80) /*删除触发器*/ --drop TRIGGER xxx 参数说明 ·name :赋予新触发器的名称. ·BEFORE|AFTER:决定该函数是在事件之前还是之后调用。 ·event :声明击发触发器的事件。 ·Table:触发器作用的表名称。 ·FOR EACH ROW|FOR EACH STATEMENT:这些选项声明触发器过程是否为触发器事件影响的每个行触发一次, 还是只为每条 SQL 语句触发一次。 ·Func:声明为不接受参数并且返回 trigger 类型。 ·Arguments:可选的用逗号分隔的参数列表。 创建触发器的注意事项 · CREATE TRIGGER 语句必须是批处理中的第一个语句。 · 创建触发器的权限默认分配给表的所有者,且不能将该权限转给其他用户。 · 触发器名称必须遵循标识符的命名规则。 · 触发器可以引用当前数据库以外的对象。 · 不能在临时表或系统表上创建触发器。 · 在含有用 DELETE 或 UPDATE 操作定义的外键的表中,不能定义 INSTEAD OF 和 INSTEAD OF UPDATE 触发器。 · 当创建一个触发器时,必须指定该触发器所位于的表。 · 多个修改语句可以触发同一个触发器。 触发器的工作原理 每个触发器都有两张特殊的表:inserted表和deleted表 如果某张表定义了插入操作的触发器,则所有对该表的插入操作,除了向该表中插入数据外,还要将一个副本放到inserted表中。 如果某张表定义了删除操作的触发器,若对该表进行了删除操作,则所有被删除的记录都存储在deleted表中 触发器的工作原理 UPDATE工作实质: 更新操作是一个复合操作,它可以看成是两步:第一步是将需要更新的记录删除,第二步是将新值插入到表中。 会产生 deleted表和inserted表 inserted表和deleted表的特点 · 这两张表是逻辑表,由数据库管理,用户不能对他们进行修改。 · 这两张表存储在内存中,而不是存储在数据库中。 · 这两张表的结构与被该触发器作用的表有相同的结构。 · 当触发器完成时这两张表会自动删除。 · 两张表中保存的数据是因用户操作而被影响到的原数据或新数据。 · 这两张表是只读表。 举例:删除学生表的一个记录时将成绩表中和该生有关的成绩删除 Create trigger zzz on 学生基本情况表 For delete As declare @xx float select @xx=学号 from deleted delete from 成绩表 where 成绩表.学号=@xx return 触发触发器 Delete from 学生基本情况表 where 学号
您可能关注的文档
- 数字电视C4v2008课件.ppt
- 数字电视原理第2版)教学课件ppt作者卢官明第3章电视信号的数字化课件.ppt
- 数字电路-第二章-门电路课件.ppt
- 数字电路与逻辑设计022012课件.ppt
- 数字矿山-孙豁然课件.ppt
- 数字矿山生产执行系统培训-综合分析模块-通知公告发布指南-要特别关注第9-13页课件.ppt
- 数字系统3课件.ppt
- 数字系统设计与EDA技术第2版教学课件ppt作者于润伟数字系统设计与EDA技术第2版)1课件.ppt
- 数字系统设计与EDA技术第2版教学课件ppt作者于润伟数字系统设计与EDA技术第2版)2课件.ppt
- 数字系统设计与EDA技术第2版教学课件ppt作者于润伟数字系统设计与EDA技术第2版)3课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第11章存储过程课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第12章使用课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第1章数据库基础课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第2章SQLServer2005的安装与管理课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第3章SQLServer数据库与表课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第4章SQLServer帐号和存取权限管理课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第5章SQL查询语句课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第6章索引与视图课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第7章Transact-SQL程序设计基础课件.ppt
- 数据库基础与应用——SQLServer2005第2版教学课件ppt作者成先海第8章SQLServer函数课件.ppt
最近下载
- 福建省突发化学中毒卫生应急预案.doc VIP
- (最新)执业兽医师聘用协议合同书5篇.docx
- 盘扣式落地式卸料平台专项施工方案新版.docx VIP
- 2025年中国私募股权基金行业市场运行现状及投资战略研究报告.docx
- 护理礼仪与人际沟通.pptx VIP
- 二次函数复习课公开课二次函数复习课公开课.ppt VIP
- 电力工程项目建设用地指标(风电场)(建标〔2011〕209号).pdf VIP
- DB3301_T0329.1—2020_社会救助家庭家境调查规范第1部分:工作程序_杭州市 .docx VIP
- 建筑工程师工作总结范文.pptx
- 2025年中考语文二轮总复习:说明文阅读(附答案解析).doc
文档评论(0)