《SQL Server数据库应用开发技术》课件第10章

《SQL Server数据库应用开发技术》课件第10章

ID:22624499

大小:237.00 KB

页数:35页

发布时间:2023-08-18 06:31:04

《SQL Server数据库应用开发技术》课件第10章_第1页
《SQL Server数据库应用开发技术》课件第10章_第2页
《SQL Server数据库应用开发技术》课件第10章_第3页
《SQL Server数据库应用开发技术》课件第10章_第4页
《SQL Server数据库应用开发技术》课件第10章_第5页
《SQL Server数据库应用开发技术》课件第10章_第6页
《SQL Server数据库应用开发技术》课件第10章_第7页
《SQL Server数据库应用开发技术》课件第10章_第8页
《SQL Server数据库应用开发技术》课件第10章_第9页
《SQL Server数据库应用开发技术》课件第10章_第10页
资源描述:

第10章游标及事务知识技能目标:1.理解游标的概念,掌握利用游标逐行处理数据行的方法。2.理解事务的概念,掌握事务的使用方法。

1引导案例:通过在教务管理数据库中的学生表上建立触发器实现了对班级表中相应班级人数的自动更新。但是当一次修改多条记录时,触发器却只被触发一次,即人数只增加或减少1。如何解决这个问题呢?这就需要使用本章介绍的游标技术。在某些应用中需要把一些操作作为一个整体,或者都做,或者都不做,本章介绍利用事务解决此类问题的方法。第10章游标及事务

210.1游标10.2事务小结第10章游标及事务

3|10.1游标在某些时候,对查询结果集中的不同行,需要不同的处理方式,也就是需要逐行访问数据,而不能将整个结果集作为一个单元来按照相同的方式处理,此时,就需要用到游标技术。比如,当用INSERT_SELECT语句向学生表中插入多条记录,这多条记录的班级可能不全相同,这时,需要修改班级表中的相关班级的人数,就需要逐条处理学生表中插入的记录。返回目录

410.1游标游标是一种可以从包含多条记录的结果集中逐条访问数据行的机制,利用游标,可以定位、检索或修改特定的行。游标由结果集和结果集中指向特定记录的游标位置(可以理|解为一个位置指针)组成。Transact-SQL游标主要用在存储过程、触发器和Transact-SQL脚本中。返回目录10.1.1游标的概念

510.1游标10.1.2游标的优点(1)允许应用程序对查询语句SELECT返回的行结果集中每一行数据进行相同或不同的操作,而不是一次对整个结果集进行同一种操作;(2)提供对基于游标位置对表中数据进行删除或更新的能力;(3)作为面向集合的RDBMS和面向行的程序设计之间的桥梁,使这两种处理方式通过游标联系起来。返回目录

610.1游标10.1.3游标的使用步骤1.声明游|标语法格式:DECLARE游标名CURSOR[LOCAL|GLOBAL][FORWARD_ONLY|SCROLL][STATIC|DYNAMIC][READ_ONLY]FORSELECT语句[FORUPDATE[OF列名[,...n]]]功能:声明游标,定义游标的属性。返回目录

710.1游标10.1.3游标的使用步骤说明:1)游标名:所定义的Transact-SQL服务器游标的名称。2)SELECT语句:定义游标结果集的标准SELECT语句。3)FORWARD_ONLY:指定游标只能从第一行滚动到最后一行,|不能向后滚动。4)SCROLL:游标可以向前、向后滚动。5)READONLY:禁止通过该游标更新结果集中的数据。6)UPDATE[OF列名[,...n]]:定义游标中可更新的结果集中的列。7)LOCAL:指定对于在其中创建的批处理、存储过程或触发器来说,该游标的作用域是局部的。返回目录

810.1游标10.1.3游标的使用步骤说明:8)GLOBAL:指定该游标的作用域对连接来说是全局的。在由连接执行的任何存储过程或批处理中,都可以引用该游标名称。该游标仅在断开连接时隐式释放。9)STATIC:在对该游标进行提|取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改。10)DYNAMIC:定义一个游标,以反映在滚动游标时对结果集内的各行所做的所有数据更改。行的数据值、顺序和成员身份在每次提取时都会更改。注意:在游标声明的SELECT语句内不允许使用关键字COMPUTE、COMPUTEBY、FORBROWSE和INTO。返回目录

910.1游标10.1.3游标的使用步骤2.打开游标语法格式:OPEN游标名说明:使用OPEN语句执行SELECT语句并填充游标结果集。打开游标后,可以使用@@CURSOR_ROWS|函数返回游标中行的数目。返回目录

1010.1游标10.1.3游标的使用步骤3.利用游标访问数据语法格式:FETCH[[NEXT|PRIOR|FIRST|LAST|ABSOLUTEn|RELATIVEn][INTO@变量名[,...n]]功能:从结果集提取(即检索)单个行,并将每列中的数据移至指定的变量中,以便其他Transact-SQL语句引用那些变量来访问提取的数据值。根据需要,可以对游标中当前位置的行执行修改操作(更新或删除)。返回目录

1110.1游标10.1.3游标的使用步骤说明:1)NEXT:当前行的|下一行成为新的当前行返回。如果FETCHNEXT为对游标的第一次提取操作,则返回结果集中的第一行。NEXT是默认的游标提取选项。2)PRIOR:当前行的上一行成为新的当前行返回。如果FETCHPRIOR为对游标的第一次提取操作,则没有行返回并且游标置于第一行之前。3)FIRST:返回游标中的第一行并将其作为当前行。4)LAST:返回游标中的最后一行并将其作为当前行。返回目录

1210.1游标10.1.3游标的使用步骤说明:5)ABSOLUTEn:如果n为正数,则返回从游标头开始的第n行,并将返回行变成新的当前行|。如果n或@nvar为负数,则返回从游标末尾开始的第n行,并将返回行变成新的当前行。如果n或@nvar为0,则不返回行。6)RELATIVEn:如果n为正数,则返回从当前行开始之后的第n行,并将返回行变成新的当前行。如果n为负数,则返回当前行之前第n行,并将返回行变成新的当前行。如果n为0,则返回当前行。可以用@@FETCH_STATUS函数报告上一个FETCH语句的状态,其中0:FETCH语句成功;-1:FETCH语句失败或行不在结果集中;-2:提取的行不存在。返回目录

1310.1游标10.1.3游标的使用|步骤4.关闭游标语法格式:CLOSE游标名说明:当使用游标的时候,会锁定与其关联的记录集,所以当不用游标的时候,要关闭游标以释放游标结果集及其对当前行的锁定。但CLOSE将保留游标结构以便重新打开,在重新打开游标之前,不允许提取和定位更新。当重新发出一个OPEN语句,该游标结构仍然可用。返回目录

1410.1游标10.1.3游标的使用步骤5.释放游标语法格式:DEALLOC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1、本文档共35页,下载后即可获取全部内容。
2、此文档《《SQL Server数据库应用开发技术》课件第10章》由用户(巴士用户935986)提供并上传付费之前 请先通过免费阅读内容等途径辨别内容,本站所有文档下载所得的收益全部归上传人(卖家)所有:如有侵权或不适当内容,请进行举报或申诉。
3、所有的PPT和DOC文档都被视为“模板”允许上传人保留音节日灵结构的情况下删减部份的内容,下裁前须认直查看,确认无误后再购买。
4、欧宝真人·(中国)科技有限公司网仅提供信息存储空间,仅对用户上传内容的表现方式做保护外理,无法对各卖家所售文档的直实性,完整性,准确性以及专业性等问题提供审核和保证,请谨慎购买。
5、本站文档的总页数,文档格式和文档大小以系统显示为准(内容中显示页数不一定正确),网站客服只以系统显示页数,文件格式,文档大小作为仲裁依据。

文档提供

发布者:巴士用户935986

上传时间:1970-01-01 08:00:00

认证主体:巴*********(个人认证)

IP归属:广东 湛江市

相关标签

文档提供

发布者:巴士用户935986

上传时间:1970-01-01 08:00:00

认证主体:巴*********(个人认证)

IP归属:广东 湛江市

相关标签