SQLServer游标(Cursor)简介和使用说明 及全局变量说明和功能

论坛 期权论坛     
选择匿名的用户   2021-6-1 20:37   217   0
<div class="article_content" id="article_content" style="margin:20px 0px 0px; font-size:14px; line-height:26px; font-family:Arial; color:rgb(51,51,51)">
<span style="font-family:Verdana; line-height:25px">游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。</span>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       <span style="font-size:14pt">1.游标的组成</span></p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       游标包含两个部分:一个是游标结果集、一个是游标位置。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       游标结果集:定义该游标得SELECT语句返回的行的集合。游标位置:指向这个结果集某一行的当前指针。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">  </p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       <span style="font-size:14pt"><strong>2.游标的分类</strong></span></p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       游标共有3类:API服务器游标、Transaction-SQL游标和API客户端游标。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       其中前两种游标都是运行在服务器上的,所以又叫做服务器游标。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       <strong>API服务器游标</strong></p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       API服务器游标主要应用在服务上,当客户端的应用程序调用API游标函数时,服务器会对API函数进行处理。使用API函数和方法可以实现如下功能:</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       (1)打开一个连接。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       (2)设置定义游标特征的特性或属性,API自动将游标影射到每个结果集。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       (3)执行一个或多个Transaction-SQL语句。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       (4)使用API函数或方法提取结果集中的行。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       API服务器游标包含以下四种:静态游标、动态游标、只进游标、键集驱动游标(Primary key)</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       <span style="color:red">静态游标</span>的完整结果集将打开游标时建立的结果集存储在临时表中,(静态游标始终是只读的)。静态游标具有以下特点:总是按照打开游标时的原样显示结果集;不反映<a class="replace_word" href="http://lib.csdn.net/base/mysql" rel="noopener noreferrer" style="color:rgb(223,52,52); text-decoration:none; font-weight:bold" target="_blank" title="MySQL知识库">数据库</a>中作的任何修改,也不反映对结果集行的列值所作的更改;不显示打开游标后在数据库中新插入的行;组成结果集的行被其他用户更新,新的数据值不会显示在静态游标中;但是静态游标会显示打开游标以后从数据库中删除的行。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       <span style="color:red"><strong>动态游标</strong></span>与静态游标相反,当滚动游标时动态游标反映结果集中的所有更改。结果集中的行数据值、顺序和成员每次提取时都会改变。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       <span style="color:red"><strong>只进游标</strong></span>不支持滚动,它只支持游标从头到尾顺序提取数据行。注意:只进游标也反映对结果集所做的所有更改。</p>
<p style="padding-bottom:0px; line-height:25px; margin:10px auto; font-family:Verdana; padding-top:0px">       <span style="color:red"><strong>键集驱动游标</strong></span>同时具有静态游标和动态游标的特点。当打开游标时,该游标中的成员以及行的顺序是固定的,键集在游标打开时也会存储到临时工作表中&
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP