`
wwty
  • 浏览: 538334 次
  • 性别: Icon_minigender_1
  • 来自: 北京-郑州
社区版块
存档分类
最新评论

数据库游标学习总结

阅读更多

游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标中获取记录。

在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。

 

在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。

 

游标总是与一条SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。

 

如果曾经用 C 语言写过对文件进行处理的程序,那么游标就像您打开文件所得到的文件句柄一样,只要文件打开成功,该文件句柄就可代表该文件。对于游标而言,其道理是相同的。可见游标能够实现按与传统程序读取平面文件类似的方式处理来自基础表的结果集,从而把表中数据以平面文件的形式呈现给程序。

 

使用游标有四种基本的步骤:声明游标、打开游标、提取数据、关闭游标。

 

前面已经讲过mysql的游标使用,下面看一下oracle的游标

oracle的游标分为两种,一种是强类型的游标,一种是弱类型的
强类型的游标和mysql的游标相同

 

弱类型的游标允许动态sql查询,示例如下:

 

CREATE OR REPLACE PROCEDURE ED_DYNAMIC_PROC()
AS
	TYPE T_DYNAMIC IS REF CURSOR;
	V_DYNAMICCURSORVAR         T_DYNAMIC;                          /*定义游标*/
BEGIN
	OPEN V_DYNAMICCURSORVAR FOR SELECT * FROM TABLE1;
	LOOP
		......
	END LOOP;
                CLOSE V_DYNAMICCURSORVAR;
END

 

分享到:
评论

相关推荐

    Oracle数据库的游标学习总结

    Oracle数据库的游标学习总结Oracle数据库的游标学习总结

    游标使用的实例,学习一点总结

    这是个人学习的游标的总结,希望能和大家分享。 通过具体实例,可以帮助学者学习游标的使用。

    T_sql 学习 这是我使用过总结的

    我使用过的sql 例子,包括,数据库备份、数据库表空间 查询、添加远程服务器

    实验7答案-游标 .sql

    通过本实验的学习,使学生掌握游标编程的方法。 二、实验内容 (1)对银行贷款数据库,用游标实现按如下报表形式显示结果的T-SQL语句。该报表统计每家银行的贷款情况,只考虑有贷款记录的银行,每家银行的贷款记录...

    oracle学习总结

    oracle入门知识总结:用户与权限,表与表空间,数据库对象,数据与数据完整性,函数,事务与存储过程,游标与触发器,pl/sql流程控制

    Oracle11g从入门到精通2

    对于初学者,《Oracle11g从入门到精通》是一本很好的入门教程,对Oracle管理员和应用程序开发员,也有很好的学习和参考价值。  Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以...

    SQL SERVER 2000开发与管理应用实例

    本书不但融合了作者在使用SQL Server 2000过程中遇到的各种常见问题和应用案例,还总结了作者几年来在CSDN 社区SQL Server版所解决的大量问题,面向实际项目需求,涉及不同类型的应用,能够多角度地引导读者学习相关...

    收获,不止SQL优化--抓住SQL的本质

    13.1.3 PL/SQL的游标合并 361 13.1.4 动态SQL 364 13.1.5 使用10046trace 跟踪PL/SQL 368 13.2 PL/SQL优化其他相关扩展 369 13.2.1 编译无法成功 369 13.2.2 通用脚本分享 370 13.3 本章习题、总结与延伸 380...

    PHP和MySQL Web开发第4版pdf以及源码

    8.2.7 表格类型的总结 8.3 Web数据库架构 8.4 进一步学习 8.5 下一章 第9章 创建Web数据库 9.1 使用MySQL监视程序 9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 ...

    PHP和MySQL Web开发第4版

    8.2.7 表格类型的总结 8.3 Web数据库架构 8.4 进一步学习 8.5 下一章 第9章 创建Web数据库 9.1 使用MySQL监视程序 9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 ...

    PHP和MySQL WEB开发(第4版)

    8.2.7 表格类型的总结 8.3 Web数据库架构 8.4 进一步学习 8.5 下一章 第9章 创建Web数据库 9.1 使用MySQL监视程序 9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 9.5.1 最少...

    SQL Server数据库开发的二十一条法则

    在这里,我不打算介绍使用SQL Server的窍门,也不能提供一个包治百病的方案,我所做的是总结一些经验—-关于如何形成一个好的设计。这些经验来自我过去几年中经受的教训,一直来,我看到许多同样的设计错误被一次又...

    收获不止SQL优化

    13.1.3 PL/SQL的游标合并 361 13.1.4 动态SQL 364 13.1.5 使用10046 trace跟踪PL/SQL 368 13.2 PL/SQL优化其他相关扩展 369 13.2.1 编译无法成功 369 13.2.2 通用脚本分享 370 13.3 本章习题、总结与延伸 380...

    (第一卷)Microsoft.SQL.Server.2008技术内幕:T-SQL语言基础

     《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。 致谢 引言 第1章 T-SQL查询和编程基础 1.1 理论背景 1.2 SQL ...

    (第二卷)Microsoft SQL Server 2008技术内幕:T-SQL语言基础

     《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。 致谢 引言 第1章 T-SQL查询和编程基础 1.1 理论背景 1.2 ...

    高性能MySQL(第3版).part2

    2.5.4数据库测试套件中的dbt2TPC—C测试60 2.5.5Percona的TPCC—MySQL测试工具63 2.6总结65 第3章服务器性能剖析67 3.1性能优化简介67 3.1.1通过性能剖析进行优化69 3.1.2理解性能剖析71 3.2对应用程序进行...

    21天学习SQL V1.0

    21天学习SQL V1.0.pdf 66 SQL 21 日自学通(V1.0) 翻译人笨猪 EMAIL wyhsillypig@163.com 2 日期/时间函数.........................................................................................................

    亮剑.NET深入体验与实战精要2

    本书集实用性、思想性、趣味性于一体,内容共分为技术基础总结、系统架构设计思想及项目实战解析三部分,随书所附光盘收录大量实例代码及独家披露的商业系统,供读者参考学习。 本书适合于.NET初、中级开发人员参考...

    亮剑.NET深入体验与实战精要3

    本书集实用性、思想性、趣味性于一体,内容共分为技术基础总结、系统架构设计思想及项目实战解析三部分,随书所附光盘收录大量实例代码及独家披露的商业系统,供读者参考学习。 本书适合于.NET初、中级开发人员参考...

Global site tag (gtag.js) - Google Analytics