- 1
- 0
- 约6.36千字
- 约 60页
- 2017-06-24 发布于湖北
- 举报
数据库技术与应用 第九章 触发器 * * * 例:在pubs库的authors表上建触发器member_trigger,它将被UPDATE操作激活,且不允许修改au_lname字段 USE pubs go CREATE TRIGGER member_trigger ON authors FOR UPDATE AS * 不使用INSTEAD OF而是通过rollback transaction子句恢复原来的数据的方法来实现字段不被修改 IF UPDATE(au_lname) BEGIN raiserror(Unauthorized!,10,1) rollback transaction END * 建好触发器后试着执行UPDATE操作 ? USE pubs go UPDATE authors SET au_lname=Wangti WHERE au_lname=White ? 运行结果显示:“Unauthorized!” * 在“查询分析器”中运行如下命令: USE pubs go SELECT au_lname FROM authors WHERE au_lname LIKE W% 查询结果中只有两行的White的内容,可见刚才的更新操作并不能实现对表中au_lname字段的更新 * UPDATE可对未建立保护性触发的字段进行更新而不激发触发器,例如: USE pubs go UPDATE authors SET au_fname=Wangti WHERE au_fname=Johnson 检索表authors可看到表内的信息被更新了,这是由于在au_fname字段上未建立UPDATE的触发 返回消息:“所影响的行数为 1 行” * Deleted表和 Inserted SQL Server为每个触发器都创建了两个专用表:INSERTED表和DELETED表。这两个逻辑表,由系统来维护。用户不能对它们进行修改。它们存放在内存中而不是数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行完成后,与该触发器相关的这两个表也被删除。 * INSERTED表 存放由于执行INSERT或UPDATE语句而要向表中插入的所有行。在执行INSERT或UPDATE操作时,新的行同时添加到激活触发器的表和INSERTD表中, INSERTD表的内容是激活触发器的表中新行的备份。 * DELETED表 存放由于执行DELETE或UPDATE语句而要从表中删除的所有行。在执行DELETE或UPDATE操作时,被删除的行从激活触发器的表中被移动到DELETED表,这两个表不会有共同的行。 * 9.2.4 查看触发器信息 象存储过程一样,触发器在创建后,系统把触发器的名称保存在系统表sysobjects中,并把创建的源代码保存在系统表syscomments中 * 1. 使用系统存储过程 EXEC sp_helptext triggername 例:使用sp_helptext 查看触发器delete_trigger的定义文本信息 USE pubs EXEC sp_helptext delete_trigger go * * 可以通过指定WITH ENCRYPTION来对触发器的定义文本信息进行加密,加密后的触发器无法用sp_helptext查看相关信息 还可使用系统存储过程sp_helptrigger来查看某特定表上存在的触发器的某些信息 ? EXEC sp_helptrigger tablename * 例:用系统存储过程sp_helptrigger 查看表authors上存在的所有触发器的相关信息 ? USE pubs EXEC sp_helptrigger authors go * * 2. 使用系统表 例:用系统表sysobjects查看数据库pubs上的所有触发器的相关信息 ? USE pubs SELECT name from sysobjects WHERE type=TR go * * * 本次课主要内容 第九章 触发器 9.1 触发器概述 9.2 创建触发器 9.3 使用触发器 9.4 修改删除触发器 * 9.3.1 使用触发器强制数据完整性 约束和触发器都可以用来实施数据完整性,但两者各有优势 触发器的可以包含使用 T-SQL 代码的复杂处理逻辑 触发器可以支持约束的所有功能 9.3使用触发器 * 实体完整性应在最低级别上通过索引进行强制,这些索引或是 PRIMARY KEY和UNIQUE约束的一部分,或是在约束之外独立创建的 域完整性应通过CHECK约束来强制 引用完整性应通过FOREIGN KEY 约束来强制 * 以下应用场合应考虑使
您可能关注的文档
最近下载
- 关于小汽车车门设计优化有关 的外文文献翻译成品:汽车面板的注塑模具设计与优化(中英文双语对照).docx
- 《危险化学品企业安全生产标准化通用规范》专业深度解读与应用培训指导材料之14:5管理要求-5. 13事故和事件(编制-2025A0).docx VIP
- 成人机械通气患者肠内营养护理管理专家共识.pptx VIP
- (热门!)《危险化学品企业安全生产标准化通用规范》专业深度解读与应用培训指导材料之11:5管理要求-5.10化学品安全和危险化学品重大危险源(编.docx VIP
- 中医确有专长答辩试题及答案.docx VIP
- 建筑工程图集 08J933-1:体育场地与设施(一).pdf VIP
- ETSI EN 300 440 V2.2.1 (2018-05) 短程设备(SRD).在1GHz到40GHz频率范围内使用的无线电设备.无线电频谱存取的协调标准.pdf VIP
- 印刷厂职员劳动合同模板(3篇).docx VIP
- 中华人民共和国流程图制作规范国家标准.pdf
- GB/T 2007.7-1987_散装矿产品取样、制样通则 粒度测定方法 手工筛分法.pdf
原创力文档

文档评论(0)