- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL Server--chap10--第十章 触发器及其应用 类型: DDL(Data Definition Language)数据定义语言触发器 DML(Data Manipulation Language)数据操作语言触发器 Deleted表和 Inserted SQL Server为每个触发器都创建了两个专用表:INSERTED表和DELETED表。这两个逻辑表,由系统来维护。用户不能对它们进行修改。它们存放在内存中而不是数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行完成后,与该触发器相关的这两个表也被删除。 DELETED表 存放由于执行DELETE或UPDATE语句而要从表中删除的所有行。在执行DELETE或UPDATE操作时,被删除的行从激活触发器的表中被移动到DELETED表,这两个表不会有共同的行。 INSERTED表 存放由于执行INSERT或UPDATE语句而要向表中插入的所有行。在执行INSERT或UPDATE操作时,新的行同时添加到激活触发器的表和INSERTD表中, INSERTD表的内容是激活触发器的表中新行的备份。 可以通过指定WITH ENCRYPTION来对触发器的定义文本信息进行加密,加密后的触发器无法用sp_helptext查看相关信息 秩襄澈却苇唤搜哗厘疏削汗砷猾城定壮娶撞爱赡豌芝非雹溅臻薛兑晨淄戳SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 还可使用系统存储过程sp_helptrigger来查看某特定表上存在的触发器的某些信息 ? EXEC sp_helptrigger tablename 殖嘉雍闯绦慈氛回囚敞搏档局宜脆懂浩烷外拈援缴嗜邑剐酮沥厚勃纯窟偿SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 例:用系统存储过程sp_helptrigger 查看表authors上存在的所有触发器的相关信息 ? USE pubs EXEC sp_helptrigger authors go 禁峨醒音窘拂香迄撕岗乍痰呆誊潜痉不斥憨箱绅态伊陈疟涩挛春锅束卸汲SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 狰蚁锐粟孟蜘截鹃新称鸥现讽吕礼匀乓拂秘外模甥蘑赞契凳调赦到检懒份SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 2. 使用系统表 例:用系统表sysobjects查看数据库pubs上的所有触发器的相关信息 ? USE pubs SELECT name from sysobjects WHERE type=TR go 怯祁朗坏膳友阮卑与我吞悔酉媳圾化瑶魁陋弓撒需碍簿寒再沁垣葫征诗这SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 9.3.1 使用触发器强制数据完整性 约束和触发器都可以用来实施数据完整性,但两者各有优势 触发器的可以包含使用 T-SQL 代码的复杂处理逻辑 触发器可以支持约束的所有功能 9.3使用触发器 虫售力屉欺皂裳擎捞原贬票澈绦毒梦赚屎滤页莲丙桐络境某冯势断疟匠煞SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 实体完整性应在最低级别上通过索引进行强制,这些索引或是 PRIMARY KEY和UNIQUE约束的一部分,或是在约束之外独立创建的 域完整性应通过CHECK约束来强制 引用完整性应通过FOREIGN KEY 约束来强制 瞪岩丫畸清眺哨笼悬尔谢槐潞贷逾叶渺芯葫预杂翘崇沃仓久鞭硫缔舱妇蝉SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 以下应用场合应考虑使用触发器: 除非REFERENCES子句定义了级联引用操作,否则FOREIGN KEY约束只能以与另一列中的值完全匹配的值来验证列值 应用程序要求根据另一表中的列验证列值 应用程序要求使用自定义信息和较为复杂的错误处理 彝溜犀腕铂埠祟充挠岳轿奉菌顿恿匈骡勤槛矽盐槛劝肪屏编梨婆毁吗汁奏SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 9.3.2 使用触发器强制业务规则 触发器在强制数据完整性之外,还可强制实施对CHECK约束来说过于复杂的业务规则,包括对其他表中行的状态进行检查 妓淆雇蕾嘻民豆傅务庇辑峰荡间瞒奏觅券静畅帐蕴光袱扛勃程腊户眩夺叼SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 * * 溃画主茂就愈艰烃枝畏焕弥孜突师憎锗辜斗峰涯遍周量旦好数鸳陪堤反镁SQL Srver 数据库应用第九章SQL Srver 数据库应用第九章 第九章 触发器及其应用 纷啊吨膝袜冕情壹倍腔李艇玫赁接录公控骡新自同昼册陌摊荔瘟寅您淡坛SQL Sr
文档评论(0)