当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《大型数据库》第10讲 事务与游标编程

资源类别:文库,文档格式:PPT,文档页数:18,文件大小:329.5KB,团购合买
在银行等重要交易中,要使一组SQL语句同时执行或撤消,如何做?
点击下载完整版文档(PPT)

第10讲 事务与游标编程

第10讲 事务与游标编程

●问题 在银行等重要交易中,要使 组SQL语句同时执行或撤消, 如何做? 问要对查询结果进行一行行的操 题 作,如何做到?

问 题  问题 在银行等重要交易中,要使一 组SQL语句同时执行或撤消, 如何做? 要对查询结果进行一行行的操 作,如何做到?

●事务是作为单个逻辑工作单元 执行的一系列操作。 9思考:事务和批处理的区别? 事务的属性(ACID) 事务概述 9原子性:原子工作单元 9一致性:保证数据的一致性 9隔离性:并发事务之间所做的修 改要隔高 并发操作:几个用户程序同时读写 个数据的情况 持久性:对系统的影响要持久

事 务 概 述  事务是作为单个逻辑工作单元 执行的一系列操作。  思考:事务和批处理的区别?  事务的属性(ACID)  原子性:原子工作单元  一致性:保证数据的一致性  隔离性:并发事务之间所做的修 改要隔离 并发操作:几个用户程序同时读写 一个数据的情况  持久性:对系统的影响要持久

格式: BEGIN TRANSACTION 2. COMMIT TRANSACTION 简单事务编程 3. ROLLBACK TRANSACTION (问题】简单的事务提交和 回滚 说明:如果没有明确给出 BEGIN TRANSACTION语句, 则 SQL Server是将每个SQL语句 都当成一个事务进行执行

简 单 事 务 编 程  格式: 1. BEGIN TRANSACTION 2. COMMIT TRANSACTION 3. ROLLBACK TRANSACTION  【问题】简单的事务提交和 回滚  说明:如果没有明确给出 BEGIN TRANSACTION语句, 则SQL Server是将每个SQL语句 都当成一个事务进行执行

嵌套事务只有在提交了最外层 的事务后,数据才执行永久修 改 事务的嵌套 嵌套事务时, ROLLBACK语句 只能将所有内层事务回滚到最 外层的 BEGIN TRANSACTION 语句

事 务 的 嵌 套  嵌套事务只有在提交了最外层 的事务后,数据才执行永久修 改  嵌套事务时,ROLLBACK语句 只能将所有内层事务回滚到最 外层的BEGIN TRANSACTION 语句

利用封锁技术可以有效地保 证数据的一致性 封锁粒度:可以锁定在行 列、表、数据库等不同的单 封锁 元上 SQL Server具有自动和强制封 锁的功能

封 锁  利用封锁技术可以有效地保 证数据的一致性  封锁粒度:可以锁定在行、 列、表、数据库等不同的单 元上  SQL Server具有自动和强制封 锁的功能

锁模式 1.共享锁( Share lock) 2.排他锁( Exclusive Lock) 3.更新锁( Update Lock) 锁模式 各种锁模式的兼容性 共享锁更新锁排他锁 共享锁YES YES NO 更新锁YES NO NO 排他锁NO NO NO

锁 模 式  锁模式: 1. 共享锁(Share Lock) 2. 排他锁(Exclusive Lock) 3. 更新锁(Update Lock)  各种锁模式的兼容性: 共享锁 更新锁 排他锁 共享锁 YES YES NO 更新锁 YES NO NO 排他锁 NO NO NO

当两个事务 trans1和 trans2在下 列的状态时,将产生死锁: 1. Trans l:存取数据项Ⅹ和Y 2. Trans2:存取数据项Y和Ⅹ 死锁 9〖说明】如果事务 Trans1封锁了 数据项Ⅹ,事务 Trans2封锁了数 据项Y,则 Trans1等待 Trans2释放 Y上的锁, Trans2等待 Trans l释放 X上的锁。因此, Trans 1和 Trans2 都无限地等待对方打开锁住的数 据项,则产生死锁

死 锁  当两个事务trans1和trans2在下 列的状态时,将产生死锁: 1. Trans1:存取数据项X和Y 2. Trans2:存取数据项Y和X  【说明】如果事务Trans1封锁了 数据项X,事务Trans2封锁了数 据项Y,则Trans1等待Trans2释放 Y上的锁,Trans2等待Trans1释放 X上的锁。因此,Trans1和Trans2 都无限地等待对方打开锁住的数 据项,则产生死锁

●〖死锁示例】 说明: SQL Server能自动发现 死锁⌒续 并解除死锁 e避免死锁的措施:P237

死 锁 ( 续 )  【死锁示例】  说明: SQL Server能自动发现 并解除死锁  避免死锁的措施:P.237

Coulacoulame Kind Credit Teacher DepartNol School Timel LimitMun WillIum/ Choosellun 实用东信息技术31人风0周二56节20430 0N技开发信技2程0月5的节0310 陽崔息索康信息技术2蒴0娩1⑩31 游标引例 以前:使用 seLECT语句对表格进行耷询 返回的结果集包括所有满足条件的行 思考:如果要求每次只显示表格(例如 上面的 Course表)中的一行,该如何处 理?—这在将TSQL嵌入到其他高级 语言(如C、VC、 Del ph等)的编程中 经常用到

游 标 引 例 以前:使用SELECT语句对表格进行查询, 返回的结果集包括所有满足条件的行。 思考:如果要求每次只显示表格(例如 上面的Course表)中的一行,该如何处 理?——这在将T-SQL嵌入到其他高级 语言(如C、VC、Delphi等)的编程中 经常用到

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共18页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有