- 1、本文档共140页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.数据库应用系统开发_T-SQL编程(4~6课时)讲解
4.5 游标的定义与使用 游标 游标是数据库管理系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果 每个游标区都有一个名字 用户可以用SQL语句逐一从游标中获取记录,并进一步处理 4.5 游标的定义与使用 4.5.1声明游标 DECLARE cursor_name [ SCROLL ] CURSOR FOR select_statement [ FOR { READ ONLY | UPDATE [ OF column_name [ , …n ] ] } ] 说明: cursor_name 是所定义的Transact-SQL服务器游标名称。 SCROLL指定该游标为滚动结果集,可以使用向前、向后、定位方式提取记录。 select_statement是定义游标结果集的标准SELECT 语句。在游标声明的select_statement 内不允许使用关键字COMPUTE、COMPUTE BY、FOR BROWSE和INTO子句。 READ ONLY 该游标只能读,不能修改。即在UPDATE或DELETE语句的WHERECURRENT OF子句中不能引用游标。该选项替代要更新的游标的默认功能。 UPDATE [OF column_name [, …n]] 定义游标内可更新的列。如果指定OFcolumn_name [,…n]参数,则只允许修改所列出的列。如果在UPDATE中未指定列的列表,则可以更新所有列。 是一条说明性语句,这时DBMS并不执行SELECT指定的查询操作。 4.5.1声明游标 【例 4.29】 定义标准游标 USE XSGL GO DECLARE cursor1 CURSOR FOR SELECT * FROM student 【例 4.30】定义只读游标 USE XSGL GO DECLARE cursor2 CURSOR FOR SELECT * FROM student FOR READ ONLY 4.5.2打开游标 使用OPEN语句 语句格式 OPEN 游标名; 功能 打开游标实际上是执行相应的SELECT语句,把所有满足查询条件的记录从指定表取到缓冲区中 这时游标处于活动状态,指针指向查询结果集中第一条记录的前面 打开游标后,可以使用全局变量@@ERROR判断该游标是否打开成功。@@ERROR为0则打开成功,否则打开失败。 4.5.3检索游标 命令格式: FETCH [ [ NEXT | PRIOR | FIRST | LAST | ABSOLUTE { n | @nvar } | RELATIVE { n | @nvar } ] FROM ] { { [ GLOBAL ] cursor_name } | @cursor_variable_name } [ INTO @variable_name [ , …n ] ] 4.5.3检索游标 功能 按指定方向推动游标指针,然后将缓冲区中的当前记录取出来送至主变量供主语言进一步处理 NEXT|PRIOR|FIRST|LAST:指定推动游标指针的方式 NEXT:向前推进一条记录 PRIOR:向回退一条记录 FIRST:推向第一条记录 LAST:推向最后一条记录 缺省值为NEXT 4.5.3检索游标 例如: DECLARE CUR CURSOR SCROLL FOR SELECT * FROM STUDENT OPEN CUR FETCH NEXT FROM CUR --下一行 FETCH ABSOLUTE 3 FROM CUR --第三行 FETCH RELATIVE -2 FROM CUR --当前行的前二行 FETCH PRIOR FROM CUR --上一行 FETCH LAST FROM CUR --最后一行 4.5.4关闭游标 使用CLOSE语句 语句格式 CLOSE 游标名; 功能 关闭游标,释放结果集占用的缓冲区及其他资源 说明 游标被关闭后,就不再和原来的查询结果集相联系 被关闭的游标可以再次被打开,与新的查询结果相联系 4.5.5释放游标 当释放最后的游标引用时,组成该游标的数据结构由 Microsoft SQL Server 释放。 命令格式: DEALLOCATE { { [ GLOBAL ] cursor_name } | @cursor_variable_name } 说明:删除指定的游标,释放该游标所占用的所有系统资源。 关闭游标并不改变其定义,可用OPEN再次打开。若想放弃游标,必须使用DEALLOCATE释放它。游标释放后,不再允许另一进程在其上执行OPEN操作。 4.5.6利用游标修改数据 利用游标修改数据时,首先在定义游标时要指明修改的字段,然后在upda
您可能关注的文档
最近下载
- 南开大学23春“金融学”《信托与租赁》考试历年真题选编附答案.docx VIP
- 建筑垃圾处理方案 .doc VIP
- 铸牢中华民族共同体意识心得体会.docx VIP
- 全国技工教育 国规教材.pdf VIP
- 2021年山西大学354汉语基础考研精品资料之白平《古代汉语》复习提纲.pdf
- SCV浸没燃烧式气化器介绍.pptx VIP
- BatesApex 员工手册【Word版】19p.docx
- 30题纪检监察位岗位常见面试问题含HR问题考察点及参考回答.docx VIP
- GBT+45088-2024权威发布:林木采伐技术规程必威体育精装版标准.pptx
- 2024年湖南省株洲市芦淞区中考模拟语文试题(解析版).docx VIP
文档评论(0)