SQL Server 2008数据库应用教程 教学课件 作者 齐志 赵晓丹 第7章 存储过程、触发器、游标及事务.pptVIP

SQL Server 2008数据库应用教程 教学课件 作者 齐志 赵晓丹 第7章 存储过程、触发器、游标及事务.ppt

  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文档。上传文档
查看更多
第7章 存储过程、触发器、游标及事务 存储过程 7.1 触发器 7.2 游标 7.3 事务 7.4 7.1 存储过程 7.1.1 存储过程概述 1.认识存储过程 2.存储过程的优点 3.存储过程的分类 (1)存储过程已在服务器注册。 (2)存储过程可以强制应用程序的安全性。 (3)允许进行模块化程序设计。 (4)存储过程是命名代码,允许延迟绑定。 (5)存储过程可以降低网络负载。 7.1.2 使用CREATE PROCEDURE语句创建存储过程 1.创建简单存储过程 2.使用带有参数的存储过程 3.使用带有通配符参数的存储过程 4.使用OUTPUT参数 图7-1 执行带输出参数的存储过程 7.1.3 执行存储过程 执行例7-1所创的存储过程“SEL_销售总金额”,结果如图7-2所示。 图7-2 执行存储过程SEL_销售总金额 图7-3 执行存储过程SEL_销售总金额_cs 7.1.4 使用ALTER PROCEDURE语句修改存储过程 7.1.5 删除存储过程 1.通过“对象资源管理器”窗口删除存储过程 2.使用DROP PROCEDURE语句删除存储过程 图7-4 在“对象资源管理器”中删除存储过程 7.2 触发器 7.2.1 DML触发器 DML触发器是当数据库服务器中对表或视图发出UPDATE、INSERT或DELETE语句等数据操作语言(DML)事件时要执行的操作。 触发器类型 AFTER 触发器 INSTEAD OF 触发器 适用范围 表 表及视图 每个表或视图包含触发器的数量 每个触发操作包含多个触发器 每个触发操作包含一个触发器 级联引用 没有任何限制条件 不允许在作为级联引用完整性约束目标的表上使用INSTEAD OF UPDATE 和 DELETE 触发器。 执行 晚于: ? 约束处理 ? 声明性引用操作 ? 创建插入的和删除的表 ? 触发操作 早于: ? 约束处理 替代: ? 触发操作 晚于: ? 创建插入的和删除的表 执行顺序 能够指定第一个和最后一个执行 不适用 插入的和删除的表中的?varchar(max)、nvarchar(max)和varbinary(max)列引用。 可以 可以 插入的和删除的表中的 text、ntext 和 image 列引用。 不可以 可以 表7-1 AFTER触发器和INSTEAD OF触发器的功能比较 1.使用CREATE TRIGGER语句创建DML触发器 2.使用ALTER TRIGGER语句修改DML触发器 3.使用DROP TRIGGER语句删除DML触发器 7.2.2 DDL触发器 1.使用CREATE TRIGGER语句创建DDL触发器 2.使用ALTER TRIGGER语句修改DDL触发器 3.使用DROP TRIGGER语句删除DDL触发器 7.2.3 查看触发器 1.查看触发器基本信息 2.查看触发器的定义 图7-5 查看触发器Trigger2的基本信息 图7-6 查看触发器Trigger2的定义 7.3 游标 7.3.1 游标概述 7.3.2 在存储过程或触发器中使用Transact-SQL游标 1.声明变量 2.声明游标 3.打开游标 4.从游标中提取数据 5.关闭游标 6.释放游标 图7-7 例7-22执行情况 图7-8 利用游标修改表中的数据 7.3.3 关于@@FETCH_STATUS @@FETCH_STATUS返回针对连接当前打开的任何游标发出的上一条游标FETCH 语句的状态,具体返回值及描述如表7-2所示。 返 回 值 描 述 0 FETCH 命令成功执行 -1 FETCH 命令失败或此行不在结果集中 -2 所提取的数据不存在 表7-2 @@FETCH_STATUS的返回值及描述 图7-9 利用游标遍历显示整个结果集 7.4 事务 7.4.1 显式事务的处理 1.BEGIN TRANSACTION 2.COMMIT TRANSACTION 3.ROLLBACK TRANSACTION 7.4.2 隐式事务 (1)启动SQL Server Management Studio并打开一个“新建查询”窗口。 (2)设置连接为隐式事务模式。 (3)检验事务是否已经启动。 (4)使用@@TRANCOUNT测试一个事务是否已经打开。 (5)结果为“1”表示当前连接已经打开了一个事务。结果为“0”表示当前没有事务,若结果大于“1”表示有嵌套事务。 (6)向表中插入一条记录后再次检查@@TRANCOUNT。 (7)回滚该事务并再次检查@@TRANCOUNT。可以看出,执行完ROLLBACK TRAN

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档