版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第10讲 问题|问题 在银行等重要交易中,要使一组sql语句同时执行或撤消,如何做? 要对查询结果进行一行行的操作,如何做到? 事务概述|事务是作为单个逻辑工作单元执行的一系列操作。z思考:事务和批处理的区别?|事务的属性(acid)z原子性:原子工作单元z一致性:保证数据的一致性z隔离性:并发事务之间所做的修改要隔离并发操作:几个用户程序同时读写一个数据的情况z持久性:对系统的影响要持久简单事务编程|格式:1.begin transaction2.commit transaction3.rollback transaction|【问题】简单的事务提交和回滚z说明:如果没有明确给出begin
2、transaction语句,则sql server是将每个sql语句都当成一个事务进行执行事务的嵌套|嵌套事务只有在提交了最外层的事务后,数据才执行永久修改|嵌套事务时,rollback语句只能将所有内层事务回滚到最外层的begin transaction语句封锁|利用封锁技术可以有效地保证数据的一致性|封锁粒度:可以锁定在行、列、表、数据库等不同的单元上|sql server具有自动和强制封锁的功能锁模式|锁模式:1.共享锁(share lock)2.排他锁(exclusive lock)3.更新锁(update lock)|各种锁模式的兼容性: 共享锁共享锁更新锁更新锁排他锁排他锁共享锁共
3、享锁yesyesno更新锁更新锁yesnono排他锁排他锁nonono死锁|当两个事务trans1和trans2在下列的状态时,将产生死锁:1.trans1:存取数据项x和y2.trans2:存取数据项y和xz【说明】如果事务trans1封锁了数据项x,事务trans2封锁了数据项y,则trans1等待trans2释放y上的锁,trans2等待trans1释放x上的锁。因此,trans1和trans2都无限地等待对方打开锁住的数据项,则产生死锁。死锁(续)|【死锁示例】|说明: sql server能自动发现并解除死锁|避免死锁的措施:p.237 游标引例以前:使用select语句对表格进行查
4、询,返回的结果集包括所有满足条件的行。思考:如果要求每次只显示表格(例如上面的course表)中的一行,该如何处理?这在将t-sql嵌入到其他高级语言(如c、vc、delphi等)的编程中经常用到。 游标概述|可以将游标看作一种特殊的指针,它可以指向与它相关联的结果集中的任意一行,以便对当前位置的行进行处理。|游标提供了对一个结果集进行逐行处理的能力:1.在结果集中定位特定行2.从结果集的当前位置检索行3.支持对结果集中当前位置的行进行数据处理(修改/删除)使用游标的步骤|声明游标|打开游标|处理数据(读取/修改/删除)可以和其他t-sql语句配合灵活使用|关闭游标(与打开游标配对)|删除游标
5、(与声明游标配对,此时释放分配给游标的所有资源)【问题】游标基本使用的例子相关语法格式|声明游标declare cursor_name cursordeclare cursor_name cursorforword_only|scrollforword_only|scrollfor select_statementsfor select_statements|打开游标open cursor_nameopen cursor_name|使用游标fetch next|prior|first|lastfetch next|prior|first|lastfrom cursor into variabl
6、e_namefrom cursor into variable_name|关闭游标close cursor_nameclose cursor_name|删除游标deallocation cursor_namedeallocation cursor_name练习11.声明一个名为crsstudent的游标,使其与“00电子商务班”的所有学生信息(学号、姓名)相关联,并逐行显示前三条学生信息如果遍历整个结果集?|使用fetch_status:z该全局变量/配置函数返回被最后fetch语句执行的游标的状态,返回类型为int:1.0:fetch语句成功2.1:fetch语句失败或此行不在结果集中3.2:被提取的行不存在练习2|使用游标遍历course表,输出报名人数最多的课程的信息(课程编码、课程名称、报名人数)练习3|建立一个存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 110.《钙钛矿电池循环伏安法扫描速率优化卷(2025)》
- 2025年宁波市海曙区鄞江镇中心卫生院招聘编外校医备考题库及一套完整答案详解
- 2025年光泽县县属国有企业专岗招聘退役军人备考题库及一套答案详解
- 2025年高州市市属国有企业公开招聘企业人员备考题库及1套完整答案详解
- 2025年钟祥市公费师范生专项公开招聘备考题库及参考答案详解
- 2025年绍兴市上虞人民医院医共体公开招聘编外人员备考题库(二)及参考答案详解一套
- 昆明市第十二中学教育集团2025年12月聘用制教师招聘备考题库参考答案详解
- 2025年498人备考题库国企招聘及参考答案详解
- 普洱市第一中学2026年度急需紧缺人才第二批招聘备考题库及答案详解参考
- 2025年重庆市江津区双福双凤路幼儿园春季招聘备考题库参考答案详解
- 水库调度操作规程模板
- 产科护士长年终总结
- 酒店情况诊断报告
- GB/T 45795-2025大气颗粒物PM10、PM2.5质量浓度观测光散射法
- 2025年夏季山东高中学业水平合格考地理试卷试题(含答案)
- DBJ04-T483-2025 海绵型城市道路与广场设计标准
- 农药运输储存管理制度
- TD/T 1036-2013土地复垦质量控制标准
- 童年的阅读测试题及答案
- 爆破备案工作报告
- 客户押款协议书范本
评论
0/150
提交评论