网站大量收购闲置独家精品文档,联系QQ:2885784924

数据库第13章详解.ppt

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
  【技能目标】   学会使用游标;理解事务的概念并学会基本的事务操作;理解并发控制的基本方法。   【知识目标】   理解游标的概念;掌握定义游标的方法;掌握游标的使用方法;理解事务的概念和属性;掌握基本的事务操作;了解并发控制的基本方法。      执行SELECT语句进行查询时返回一个结果集,结果集只能作为一个整体进行处理,而不能对其中的部分行做单独处理。但是在实际应用开发中,往往需要对结果集中的不同行进行不同的处理,游标正是SQL Server提供的一种机制,它能够对结果集进行逐行处理,其工作方式类似于指针,可以指向结果集中的任意位置以此对指定位置的数据进行处理。   使用游标要遵循“定义游标→打开游标→读取游标→关闭游标→释放(删除)游标”的顺序。      定义游标使用DECLARE CURSOR语句,有两种语法格式:一种是SQL-92标准的游标定义,另一种是Transact-SQL扩展的游标定义。   1. ?SQL-92标准的游标定义   SQL-92标准游标定义的语法格式如下:   DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR   FOR select_statement   [FOR {READ ONLY | UPDATE [ OF column_name [,…n]]}]   参数说明如下:   ● ?cursor_name:游标名。必须遵从标识符命名规则。   ● ?INSENSITIVE:定义一个游标,以创建将由该游标使用的数据的临时副本。对游标的所有请求都从tempdb中的临时表中得到应答,因此,在对该游标进行提取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改。   ● ?SCROLL:说明所定义的游标可以前滚、后滚,可使用所有的提取选项(FIRST,LAST,PRIOR,NEXT,RELATIVE,ABSOLUTE)。如果省略SCROLL,则只能使用NEXT提取选项。   ● ?select_statement:SELECT语句。由该查询产生与所定义的游标相关联的结果集。在SELECT语句中不能出现COMPUTE、COMPUTE BY、FOR BROWSE和INTO这样的关键字。   ● ?READ ONLY:说明所定义的游标是只读的。   ●?UPDATE [OF column_name [,…n]]:定义游标内可更新的列。如果指定OF column_name [,…n]参数,则只允许修改所列出的列。如果在UPDATE中未指定列的列表,则可以更新所有列。   【例13-1】 在学生成绩管理系统数据库SCMS中,定义一个查询学生表student的   游标。   DECLARE cur_student1 CURSOR   FOR   SELECT sno,sname,ssex,borndate FROM student   【例13-2】 将查询系部表department的结果集定义一个只读游标。   DECLARE cur_department CURSOR   FOR   SELECT * FROM department   FOR READ ONLY   【例13-3】 将例13-1定义的游标cur_student1定义成可更新的游标。   DECLARE cur_student1 CURSOR   FOR   SELECT sno,sname,ssex,borndate FROM student   FOR UPDATE   2.? Transact-SQL扩展的游标定义   Transact-SQL扩展的游标定义的语法格式如下:   DECLARE cursor_name CURSOR   [LOCAL | GLOBAL]   [FORWARD_ONLY | SCROLL]   [STATIC | KEYSET | DYNAMIC | FAST_FORWARD]   [READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]   [TYPE_WARNING]   FOR select_statement   [FOR UPDATE [OF column_name [,…n]]]   参数说明如下:   ● ?LOCAL | GLOBAL:说明游标的作用域。若两者均未指定,则默认值由default to local cursor数据库选项的设置控制。   ● ?FORWARD_ONLY | SCROLL:说明游标的移动方向。FORWARD_ONLY表示只能从第一行滚动到最后一行。SCROLL的含义与SQL-92标准相同。   ● ?STATIC | KE

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档