⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6213.htm

📁 说明: column_list列出要添加数据的列名。在给表或视图中部分列添加数据时
💻 HTM
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>MS SQL基础教程:游标、游标的优点和种类 - 编程入门网</title>
<meta name="keywords" content="MS SQL基础教程:游标、游标的优点和种类">
<meta name="description" content="MS SQL基础教程:游标、游标的优点和种类">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="/images/style.css" rel="stylesheet" type="text/css" />
<script src="/js1/head.js"></script>
</head>
<body leftmargin="0" topmargin="0" bgcolor="#efefef" oncopy=nocopy()>
<TABLE width="760" cellPadding="0" cellSpacing="0"  bgcolor="#eff7fe" align="center">
  <TR>
    <TD><a href="/index.htm"><img src="/images/logo1.gif" width="150" height="60" border="0"></a></TD>
    <TD width="470" align="right"><script src="/js1/top.js"></script></TD>
    <TD width="125" align="center"><script src="/js1/topsy.js"></script></TD>
  </TR>
</TABLE>
<table width="760" border="0" cellpadding="1" cellspacing="0" class="bklan" align="center">
  <tr>
    <td align="center" bgcolor="#eff7fe" height="24"> | <a href='/Programming/index.htm'>编程语言</a> | <a href='/webkf/index.htm'>web开发</a> | <a href='/data/index.htm'>数据库</a> | <a href='/Network/index.htm'>网络技术</a> | <a href='/OS/index.htm'>操作系统</a> | <a href='/Servers/index.htm'>服务器</a> | <a href='/web/index.htm'>网页设计</a> | <a href='/Design/index.htm'>图形设计</a> | <a href='/Office/index.htm'>办公软件</a> | <a href='/soft/index.htm'>常用软件</a> | <a href='/shadu/index.htm'>杀毒频道</a> | <a href='/PC/index.htm'>学电脑</a> |</td>
  </tr>
</table>
<table cellspacing="0" cellpadding="0" width="760" align="center" bgcolor="#ffffff" border="0">
  <tr>
    <td align="center"><script src="/js1/content1.js"></script></td>
  </tr>
</table>
<table width="760" border="0" cellpadding="0" cellspacing="0" align="center">
  <tr>
    <td height="25" background="/templets/img/31bg3.gif" align="left" class="guidet">&nbsp;→ 当前位置:<a href='http://www.bianceng.cn/'>首页</a>→<a href='/data/index.htm'>数据库</a>→<a href='/data/SQLServer/index.htm'>SQL Server</a>→<a href='/data/SQLServer/jc/index.htm'>SQL Server教程</a>→正文</td>
  </tr>
</table>
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
  <tr>
    <td valign="top" class="guidet" width="595"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="ct">
  <tr>
    <td align="center" valign="middle" class="til"><h3>&nbsp;&nbsp; MS SQL基础教程:游标、游标的优点和种类 </h3>
      发布时间:2007-12-25 来源:网络/责编:编程入门 作者:佚名<br />
      <script src="/js1/468.js"></script>
    </td>
  </tr>
  <tr>
    <td style="font-size:14px" align="left" class="til"><table border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td align="center"><script src="/js1/300.js"></script></td>
</tr>
</table><p>  本章前半部分提供了在MS SQL SERVER 中应用游标所应具有的有关游标的必要知识和各种语法。从中读者可以了解游标的优点、种类、作用、学会如何定义、打开、存取、关闭、释放游标以及游标的应用。除此之外,在本章的后半部分我们介绍了视图和用户自定义函数,使读者了解视图的众多优点,比如简化操作、提高数据安全性;了解如何创建、管理视图和用户自定义函数;了解如何在存储过程和批处理中调用用户自定义函数等诸多问题。---www.bianceng.cn</p>
<p>  在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。</p>
<p>  13.1.1 游标和游标的优点</p>
<p>  在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条T_SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。如果曾经用 C 语言写过对文件进行处理的程序,那么游标就像您打开文件所得到的文件句柄一样,只要文件打开成功,该文件句柄就可代表该文件。对于游标而言,其道理是相同的。可见游标能够实现按与传统程序读取平面文件类似的方式处理来自基础表的结果集,从而把表中数据以平面文件的形式呈现给程序。</p>
<p>  我们知道关系数据库管理系统实质是面向集合的,在MS SQL SERVER 中并没有一种描述表中单一记录的表达形式,除非使用where 子句来限制只有一条记录被选中。因此我们必须借助于游标来进行面向单条记录的数据处理。</p>
<p>  由此可见,游标允许应用程序对查询语句select 返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作;它还提供对基于游标位置而对表中数据进行删除或更新的能力;而且,正是游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来,使两个数据处理方式能够进行沟通。</p>
<p>  13.1.2 游标种类</p>
<p>  MS SQL SERVER 支持三种类型的游标:Transact_SQL 游标,API 服务器游标和客户游标。</p>
<p>  (1) Transact_SQL 游标</p>
<p>  Transact_SQL 游标是由DECLARE CURSOR 语法定义、主要用在Transact_SQL 脚本、存储过程和触发器中。Transact_SQL 游标主要用在服务器上,由从客户端发送给服务器的Transact_SQL 语句或是批处理、存储过程、触发器中的Transact_SQL 进行管理。 Transact_SQL 游标不支持提取数据块或多行数据。</p>
<p>  (2) API 游标</p>
<p>  API 游标支持在OLE DB, ODBC 以及DB_library 中使用游标函数,主要用在服务器上。每一次客户端应用程序调用API 游标函数,MS SQL SEVER 的OLE DB 提供者、ODBC驱动器或DB_library 的动态链接库(DLL) 都会将这些客户请求传送给服务器以对API游标进行处理。</p>
<p>  (3) 客户游标</p>
<p>  客户游标主要是当在客户机上缓存结果集时才使用。在客户游标中,有一个缺省的结果集被用来在客户机上缓存整个结果集。客户游标仅支持静态游标而非动态游标。由于服务器游标并不支持所有的Transact-SQL 语句或批处理,所以客户游标常常仅被用作服务器游标的辅助。因为在一般情况下,服务器游标能支持绝大多数的游标操作。</p>
<p>  由于API 游标和Transact-SQL 游标使用在服务器端,所以被称为服务器游标,也被称为后台游标,而客户端游标被称为前台游标。在本章中我们主要讲述服务器(后台)游标。</p>
<p>  <a href="/data/SQLServer/jc/200712/6352.htm">查看全套&quot;MS SQL入门基础教程&quot;</a></p><center><br /><script src="/js1/4682.js"></script></center>
      <p>上一篇:<a href='/data/SQLServer/jc/200712/6212.htm'>MS SQL基础教程:管理触发器</a>  &nbsp; 下一篇:<a href='/data/SQLServer/jc/200712/6214.htm'>MS SQL基础教程:声明游标</a> </p></td>
  </tr>
  <tr>
    <td align="left" style="font-size:14px;" height="25"><IMG src="/images/t0.gif" width="12" height="12" align=absMiddle><strong>相关文章</strong><br /><table width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6212.htm">MS SQL基础教程:管理触发器</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6214.htm">MS SQL基础教程:声明游标</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6211.htm">MS SQL基础教程:触发器的高级应用</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6215.htm">MS SQL基础教程:打开游标</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6210.htm">MS SQL基础教程:触发器的应用</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6216.htm">MS SQL基础教程:读取游标中的数据</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6209.htm">MS SQL基础教程:INSTEAD OF触发器</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6217.htm">MS SQL基础教程:关闭释放游标</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6208.htm">MS SQL基础教程:触发器的原理</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6218.htm">MS SQL基础教程:定位修改删除游标</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6207.htm">MS SQL基础教程:创建触发器</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6219.htm">MS SQL基础教程:游标的应用</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6206.htm">MS SQL基础教程:触发器概述</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6220.htm">MS SQL基础教程:使用系统过程管理游标</a><br/>
	</td>
	</tr>
	</table>
</td>
  </tr>
</table>
</td>
    <td width="165" valign="top" class="guideb"><script src="/js1/1601.js"></script><table width="100%" border="0" cellpadding="0" cellspacing="0" valign="top">
      <tr>
        <td height="25" align="center" background="/templets/img/31bg3.gif"><strong>阅读排行</strong></td>
      </tr>
      <tr>
        <td>·<a href="/data/SQLServer/jc/200712/6352.htm">MS SQL Server入门教程</a><br/>
·<a href="/data/SQLServer/jc/200807/10974.htm">MS SQL基础教程:存储过程</a><br/>
·<a href="/data/SQLServer/jc/200705/1189.htm">sql语言教程</a><br/>
·<a href="/data/SQLServer/jc/200807/10973.htm">MS SQL基础教程:创建存储</a><br/>
·<a href="/data/SQLServer/jc/200705/1182.htm">sql字符串函数</a><br/>
·<a href="/data/SQLServer/jc/200712/6301.htm">MS SQL基础教程:SQL Serve</a><br/>
·<a href="/data/SQLServer/jc/200712/6302.htm">MS SQL基础教程:SQL Serve</a><br/>
·<a href="/data/SQLServer/jc/200712/6314.htm">MS SQL基础教程:数据类型</a><br/>
·<a href="/data/SQLServer/jc/200705/1188.htm">Sql语言基础</a><br/>
·<a href="/data/SQLServer/jc/200712/6311.htm">MS SQL基础教程:Transact-</a><br/>
·<a href="/data/SQLServer/jc/200712/6312.htm">MS SQL基础教程:SQL变量</a><br/>
·<a href="/data/SQLServer/jc/200705/1184.htm">sql基本语句</a><br/>
·<a href="/data/SQLServer/jc/200807/10972.htm">MS SQL基础教程:管理存储</a><br/>
·<a href="/data/SQLServer/jc/200712/6306.htm">MS SQL基础教程:数据库基</a><br/>
·<a href="/data/SQLServer/jc/200705/1178.htm">sql数据表</a><br/>
 </td>
      </tr>
	  <tr>
        <td><script src="/js1/1602.js"></script></td>
      </tr>
	  <tr>
        <td height="25" align="center" background="/templets/img/31bg3.gif"><strong>最新文章</strong></td>
      </tr>
	  <tr>
        <td><script src="/plus/js/0.js" language="javascript"></script></td>
      </tr>
	  </table></td>
  </tr>
</table>
<table cellspacing="0" cellpadding="0" width="760" align="center" bgcolor="#ffffff" border="0">
  <tr>
    <td align="center"><script src="/js1/content2.js"></script></td>
  </tr>
</table>
<table width="760" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr height="26">
    <td bgcolor="#e1f0fd" width="48"></td>
    <td bgcolor="#6ab3f4" width="35"></td>
    <td bgcolor="#0a518f" colspan="2" width="4"></td>
    <td bgcolor="#c0c0c0" width="530" align="center"><a title="将本站设为你的首页" onclick="this.style.behavior='url(#default#homepage)';this.sethomepage('http://www.bianceng.cn');return false;" href="http://www.bianceng.cn/">设为首页</a> | <a class="navmenu" 
      title="将本站加入到你的收藏夹" 
      href="javascript:window.external.AddFavorite(location.href,document.title)">加入收藏</a> | <a href="/about/about.htm">关于本站</a> | <a href="/plus/flink.php">友情链接</a> | <a href="/about/banquan.htm">版权声明</a> | <a href="/plus/sitemap.html">网站地图</a> | <a href="/plus/rssmap.html">RSS订阅</a></td>
    <td bgcolor="#0a518f" colspan="2" width="4"></td>
    <td bgcolor="#6ab3f4" width="32"></td>
    <td bgcolor="#e1f0fd" width="47"></td>
  </tr>
  <tr height="26">
    <td colspan="9" bgcolor="#FFFFFF" align="center">编程入门网 版权所有,bianceng.cn,All Rights Reserved. <script src="/js/tongji.js"></script> 阅读次数:<script src="/plus/count.php?aid=6213&mid=0" language="javascript"></script></td>
  </tr>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -