第六章触发器、视图及事务.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章触发器、视图及事务

第六章 视图、触发器及事务 章节内容 视图的创建,使用和删除 触发器的创建和删除 事务的属性,模式 事务的工作过程 第一部分 视图 视图 视图是用户查看数据库表中数据的一种方式 它相当于一个虚拟表,用户通过它来浏览感兴趣的内容或全部数据 数据的物理存放位置仍然在表中,这些表叫视图的基表 一个视图可以派生于一个或多个基表,也可以从其它视图中派生 视图的优点 将用户注意力聚集到特定的数据上,掩盖了数据的复杂性并达到数据安全保护的目的 简化数据查询和处理操作 有利于数据交换操作 创建视图 语法: Create view [view_name(column[,…..n])] [with encryption] As select_statement [with check option] Column:视图中的列名 With encryption:视图将被加密 Select_statement:查询语句 With check option:让update和insert语句严格按照视图中定义的格式 注:一个视图能参照的最大列数为1024 示例 基于titles表创建一个视图 create view title_view1 as select title,type,price,pubdate,title_id from titles 例2 使用函数创建视图,查看titles表中每类图书的平均价格,并将视图加密 Create view type_view as select type,avg(price) from titles group by type 删除视图 语法:drop view view_name 示例: Drop view title_view1 视图的使用 通过视图检索数据 可以通过任何查询方式检索试图 建立视图时,系统不检查参照对象的存在,检索视图时不存在的对象将导致错误 使用select * 建立的视图在基表增加新列后,不能检索新列,及表删除某列后检索将不能进行 通过视图修改数据 实际是对基表的数据进行修改,所以必须遵守基表的数据完整性约束 一个语句只能修改视图的一个基表 不允许对group by定义的视图或视图的计算列进行修改 第二部分 触发器 触发器 是一种特殊类型的存储过程,基于某个表或视图(触发表、触发视图)的一个或多个列创建,用于监控它们的insert、update、delete操作(触发操作),当发生以上操作时自动执行事先定义的步骤,可进行复杂的数据完整性监测和约束 触发器的特点 不能直接调用,只有在对触发器表的数据进行更改时,才自动执行 不能传递和接受参数 触发器可以实施更为复杂的数据完整性约束 创建触发器 语法: create trigger trigger_name on {table | view} [with encryption] { for | after | instead of} {[insert][,][update][,][delete]} as { sql_statement } 示例 create table tb_trigger1( col1 int identity,col2 char(10) null) create trigger trigger1_1 on tb_trigger1 for insert as if update(col2) print col2列被修改! 触发器的工作原理 触发器执行时产生两个临时表:inserted和deleted。这两个表在结构上和触发表一样 执行insert语句时,插入到触发表的数据被插入到inserted表;执行delete语句时,从触发器中删除的行被插入deleted表;update语句实际分为delete和insert两步 修改和删除触发器 使用alter trigger语句,和create trigger基本一样 删除触发器 drop trigger trigger_name 第三部分 事务 事务 事务是SQL中的单个逻辑工作单元,一个事务里的所有语句被作为整体执行 遇到错误时,可以回滚事务内的所有改变,从而保证数据库的一致性和可恢复性 一个逻辑工作单元必须具有四种属性,也称为ACID 事务的四种属性 原子性(Atomicity):一个事务必须作为工作的原子单位,它所做的数据修改要么全部执行

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档