- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库课程详细教程 第10章课件
第10章 事务与游标
;原子性(atomicity)
一致性(consistency)
隔离性(isolation)
持久性(durability);
1.定义事务的开始
1)格式
BEGIN TRANSACTION [事务的名称 @变量]
[ WITH MARK [‘描述标记的字符串’]]]
2)功能
定义显式事务的开始,使全局变量@@trancount的值加1。
[ WITH MARK [‘描述标记的字符串’] ] :在日志中标记事务。
执行每个事务, 根据当前事务隔离级别的设置情况,锁定资源,直到事务结束,使用命令 COMMIT TRANSACTION 对数据库作永久的改动,如果发生错误,则用 ROLLBACK TRANSACTION 语句回滚所有改动;
2.提交事务
1).格式
COMMIT TRANSACTION [事务的名称 @变量]
COMMIT [ WORK ]
2).功能
它使事务开始以来所执行的所有数据修改成为数据库的永久部分,也标志一个事务的结束。因此不能在发出COMMIT TRANSACTION 语句之后回滚事务
如果 @@TRANCOUNT 为 1,命令COMMIT TRANSACTION释放连接占用的资源,并将变量@@TRANCOUNT 减少到 0。如果 @@TRANCOUNT 大于 1,则 COMMIT TRANSACTION 使 @@TRANCOUNT 按 1 递减。
当 @@TRANCOUNT 为 0 时发出 COMMIT TRANSACTION 将会导致出现错误,因为没有相应的 BEGIN TRANSACTION。;
3.回滚事务
1).格式
ROLLBACK TRANSACTION [事务名称 @变量 | 保存点
|@保存点变量]
或
ROLLBACK WORK
2).功能
回滚到事务的起点或指定的保存点处,标志事务的结束。
它将清除自事务的起点或到某个保存点所做的任何数据修改,并且释放由事务控制的资源。“@保存点变量”是用户定义的。在事务内允许有重复的保存点名称。
在存储过程中,不带事务名称和保存点名称的 ROLLBACK TRANSACTION 语句将所有语句回滚到最远的 BEGIN TRANSACTION。;
4、设置保存点
1)格式
SAVE TRANSACTION {保存点|@保存点变量}
2)功能
在事务内设置保存点。保存点定义事务可以返回的位置。
当事务开始时,将一直控制事务中所使用的资源直到事务完成(也就是锁定)。当将事务的一部分回滚到保存点时,将继续控制资源直到事务完成(或者回滚全部事务)。;
1.显式事务
显式事务可以由用户在其中定义事务的启动和结束。事务以BEGIN TRANSACTION语句开始,以COMMIT(提交)语句或ROLLBACK(回退或撤消)语句结束。
2.隐式事务
隐式事务是指在当前事务提交或回滚后,自动启动新事务。因此隐式事务不需要使用BEGIN TRANSACTION语句开始,而只需要提交或回滚每个事务。隐式事务模式生成连续的事务链。;10.2 游标的创建与使用 ;10.2.2、用DECLARE语句定义游标 ;10.2.2、用DECLARE语句定义游标 ;10.2.2、用DECLARE语句定义游标 ;10.2.2、用DECLARE语句定义游标 ;10.2.3、用OPEN语句打开游标 ;10.2.4、用FETCH语句从游标中提取数据 ;10.2.4、用FETCH语句从游标中提取数据 ;10.2.4、用FETCH语句从游标中提取数据 ;10.2.5、用CLOSE语句关闭游标 ;10.2.6、用DEALLOCATE语句释放游标 ;【实例练习7-9】;【实例练习7-9】;【实例练习7-9】;【实例练习7-10】;【实例练习7-10】;7.6 实训要求
文档评论(0)