SQLServer技术(81)
来源:互联网 发布:视频直播录制软件 编辑:程序博客网 时间:2024/04/30 11:59
本章前半部分提供了在MSSQLServer中应用游标所应具有的有关游标的必要知识和各种语法。从中读者可以了解游标的优点、种类、作用、学会如何定义、打开、存取、关闭、释放游标以及游标的应用。除此之外,在本章的后半部分我们介绍了视图和用户自定义函数,使读者了解视图的众多优点,比如简化操作、提高数据性;了解如何创建、管理视图和用户自定义函数;了解如何在存储过程和批处理中调用用户自定义函数等诸多问题。
在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECTINSERT语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。
我们知道关系数据库管理系统实质是面向集合的,在MSSQLServer中并没有一种描述表中单一记录的表达形式,除非使用where子句来限制只有一条记录被选中。因此我们必须借助于游标来进行面向单条记录的数据处理。
由此可见,游标允许应用程序对查询语句select返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作;它还提供对基于游标位置而对表中数据进行删除或更新的能力;而且,正是游标把作为面向集合的数据库管理系统和面向行的程序两者联系起来,使两个数据处理方式能够进行沟通。
MSSQLServer支持三种类型的游标:Transact_SQL游标,API服务器游标和客户游标。
(1)Transact_SQL游标
Transact_SQL游标是由DECLARECURSOR语法定义、主要用在Transact_SQL脚本、存储过程和触发器中。Transact_SQL游标主要用在服务器上,由从客户端发送给服务器的Transact_SQL语句或是批处理、存储过程、触发器中的Transact_SQL进行管理。Transact_SQL游标不支持提取数据块或多行数据。
(2)API游标
API游标支持在OLEDB,ODBC以及DB_library中使用游标函数,主要用在服务器上。每一次客户端应用程序调用API游标函数,MSSQLSEVER的OLEDB提供者、ODBC驱动器或DB_library的动态链接库(DLL)都会将这些客户请求传送给服务器以对API游标进行处理。
(3)客户游标
客户游标主要是当在客户机上缓存结果集时才使用。在客户游标中,有一个缺省的结果集被用来在客户机上缓存整个结果集。客户游标仅支持静态游标而非动态游标。由于服务器游标并不支持所有的Transact-SQL语句或批处理,所以客户游标常常仅被用作服务器游标的辅助。因为在一般情况下,服务器游标能支持绝大多数的游标操作。
由于API游标和Transact-SQL游标使用在服务器端,所以被称为服务器1
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- SQLServer技术(81)
- SQLServer技术(103)
- SQLServer技术(104)
- SQLServer技术(105)
- SQLServer技术(106)
- SQLServer技术(107)
- SQLServer技术(108)
- SQLServer技术(109)
- SQLServer技术(110)
- SQLServer技术(111)
- SQLServer技术(112)
- SQLServer技术(113)
- SQLServer技术(114)
- SQLServer技术(115)
- SQLServer技术(116)
- SQLServer技术(117)
- SQLServer技术(118)
- SQLServer技术(119)
- SQLServer技术(79)
- SQLServer技术(80)
- 黄仁勋传奇
- 常见文件密码破解方法大放送
- YUV视频格式到RGB32格式转换的速度优化 下篇
- SQLServer技术(81)
- 讨人喜欢的27个原则
- SQLServer技术(82)
- 080426
- SQLServer技术(83)
- SQLServer技术(84)
- SQLServer技术(85)
- SQLServer技术(86)
- ASP.Net之C#中的异常处理