- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库应用技术 第十四章2007-8.ppt
天津大学计算机基础教学部 例14-2:当一个新行被插入到表Requisition 中时,属性siNoOfVacancy的值应小于表Position中属性iBudgetedStrength 和 iCurrentStrength之差。确保用户自定义数据完整性的实现。 * * 第 14 章 触发器 14.1 触发器 14.2 创建触发器 14.3 触发器类型 14.4 查看、修改和删除触发器 14.5 嵌套触发器 14.6 递归触发器 14.7 多重触发器 14.8 触发器实施数据完整性 14.1 触发器 一、触发器定义 简单的说,触发器是由一系列Transact-SQL语句组成的代码块,这些语句对某些动作作出响应。具体讲,因为在SQL?Server里面也就是对某一个表的一定的操作,触发某种条件,从而要执行的一段程序。 使用触发器能执行下列的任务: (1)比较数据的版本。 (2)从其它数据库的表中读取数据。 (3)在数据库中贯穿相关表进行级联更改或删除。 (4)撤消无效更改。 (5)强制执行比CHECK约束中的可能限制还要复杂的限制。 (6)执行本地和远程的存储过程。 一般更改数据之后就可以调用触发器,而且根据触发器的类型,还能够做下面的操作: (1)允许或禁止更改数据。 (2)调用业务规则。 (3)在整个数据库内级联数据更改。 触发器帮助维护数据库里数据的一致性、可靠性和修改表里的数据. 其主要特点为: (1)只能与表相关联。 (2)不能定义在临时表或视图上。然而,触发器能引用临时表或视图 (3)如果发出了任何数据修改的命令,会被SQL Server自动触发。 (4)不能象存储过程那样显式的调用或执行。 (5)最多可以嵌套32层。嵌套触发器发生在当一个触发器里执行初始 化另一个触发器的操作。 (6)能保护数据免受不正确的、未授权的或不一致的修改。 (7)不能返回数据给用户。 (8)触发器可以通过数据库中的相关表进行层叠更改。 (9)触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复 杂。 就条件约束和触发器这两种数据完整性机制而言,触发 器能执行更严格的约束。主要表现在下面三个方面: (1)非 REFERENCES 子句定义了级联引用操作, 否则 FOREIGN KEY 约束只能以与另一列中的值完全匹配 的值来验证列值。 (2)CHECK 约束只能根据逻辑表达式或同一表中的另一 列来验证列值。如果此时的应用程序要求根据另一个 表中的列验证列值,则必须使用触发器。 (3)约束只能通过标准的系统错误信息传递错误信息。如 果应用程序要求使用(或能从中获益) 自定义信息和 较为复杂的错误处理,则必须使用触发器。 14.2 创建触发器 一、创建触发器语法 在创建触发器前,应考虑下列几个问题: (1)CREATE TRIGGER 语句必须是批处理中的第一个语句 (2)创建触发器的权限默认分配给表的所有者,且不能转让. (3)触发器名称必须遵循标识符的命名规则。 (4)触发器可以引用当前数据库以外的对象,但只能在当前 数据库中创建触发器。 (5)不能在临时表或系统表上创建触发器。 (6)TRUNCATE TABLE 语句不会引发 DELETE 触发器。 语法: CREATE TRIGGER 触发器名 ON 表名|视图名 FOR| AFTER|INSTEAD OF [INSERT|DELETE|UPDATE] [WITH ENCRYPTION] [WITH APPEND] [NOT FOR REPLICATION] AS [{IF UPDATE (列名) [{AND|OR} UPDATE (列名)] [ ...n ]] sql 语句[ ...n ] } 参数说明: 触发器名是触发器的名称。触发器名称必须符合标识符规 则,并且在数据库中必须唯一。 表名|视图名是在其上执行触发器的表或视图,有时称为触 发器表或触发器视图。 WITH ENCRYPTION加密CREATE TRIGGER 语句文本 的条目。 AFTER指定触发器只有在触发 SQL 语句中指定的所有操 作都已成功执行后才
您可能关注的文档
最近下载
- 沿着塞纳河到翡冷翠.pdf VIP
- 2025甘肃定西市招聘专业化管理村党组织书记103人考试备考试题及答案解析.docx VIP
- 一种小鼠结直肠原位癌模型的构建方法.pdf VIP
- 百度地图-北京市购物中心报告-71页.pdf VIP
- 克莱斯勒-Grand Voyager-产品使用说明书-Grand Voyager(3.6L)-Grand Voyager(3.6L)-2013款大捷龙用户手册(产品使用说明书).pdf
- 居住绿地设计标准.pdf VIP
- 新媒体短视频代运营.pptx VIP
- 人教版(2025)八年级英语上册 Unit 1 Happy Holiday单元检测卷(含答案及听力原文,无听力音频).doc VIP
- 2025人教版英语四年级上册Unit 4 Helping in the community单元测试试卷.docx VIP
- 企业短视频代运营.pptx VIP
文档评论(0)