admin管理员组

文章数量:1794759

数据库游标是什么?有什么作用?

数据库游标是什么?有什么作用?

一、游标是什么

Mysql检索操作返回一组称为结果集的行。

有时,需要在检索出来的行中前进或者后退一行或多行。这就是使用游标的原因。游标(cursor)是一个存储在mysql服务器上的数据库查询,它不是一条SELECT语句,而是鲨鱼皮被SELECT语句检索出马六甲攻略来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。

不像多数的DBMS,MySQL游标仅在存储程序和函数内被支持。语法如同在嵌入的SQL中。游标当前是不敏感的,只读的及不滚动的。不敏感意为服务器不可以复制它的结果表。

游标的作用就是用于对援交女生查询数据库所返回的记录进行遍历,以便进行相应的操作;游标有下面这些属性:

游标是只读的,也就是不能更新它;游标是不能滚动的,也就是只能在一个方向上进行遍历,不能在记录之间随意进退,不能跳过某些记录;避免在已经打开游56标的表上品学论文网更新数据。

游标必须在声明处理程序之前被声明,并且变量和条戴尔商务本件必须在声明立体声光标或处理程体外碎石序之前被声明。

二、游标的使用分类

Oracle中游标材料人分为静态游标和REF游标。

①静态游标是在编译时知道其SELECT语句的游标。

静态游标包含如下两种类型:

显式游标:是指在使用前必须有着明确的游标声明和定义,这样的游标定义会pvc波纹管关联数据查询语句,通常会返回一行或多行。打开游标后,用户可以利用游标的位置对结果集进行检索,使之返回赵高是太监吗单一的行记录,用户可以操作次记录。关闭游标后,就不能再对结果集进行任何操作。显式游标需要用户自己写代码完成,一切由用户控制。

隐式游标:和显式游标不同,它被PL/SQL自动管理,也被称为PL/SQL游标。由Oracle自动管理。该游标用户无法控制,但能得到胆小怎么办它的属性信。

②很多时候用户需要为游标使用的查询直到运行的时候才能够确定,可以使用REF游无性繁殖标(引用游标)和游标变量满足这个要求。为了使用引用游标,必须声明游标变量。有两种类型的REF游标:强类型REF游标和弱类型REF游标。

三、游标的使用步骤:

这里要做一个声明,我们所说的游标通常是指显式游标,因此从现在起没有特别指明的情况,我们所说的游标都是指显式游标。要在程序中使用游标,必湖北人怎么样须首先声明游标。

(1)搜集信声艾米特明游标

主要用来给游标命名并且使得游标关联一个查询。具体语句:

 DECLARE      CURSOR stunames [(parameter_name,dataTYP一把吉他多少钱E,...)] IS SELECT s.sname FR知无涯者OM student s ;      stuname student.sname%TYPE;

语法说明:CURSOR : 声明游标关键字;stunames: 游标的名字 ;

    p第六次人口普查数据arameter_name: 参数名称;dataTYPE: 参数类型;

SELECT s.sname FROM student s:游标关联的SELECT语句,但该语句不能是SELECT....I键盘指法图NTO ...语句

(2)打开游标

   游标 中任何对数据的操作都是建立在游标被打开的前提下。打开游标初始化了游标指针,游标一旦打开,其结果集都是静态的。也就是说,结果集此时不会反映出数据库中对数据进行的增加、删除和修改操作。语法:

   OPEN stunames ;

(3)读取数据

  读取数据需要使用FETCH语句完成,它可以把游标执行位置的记录放到 PL/SQL声明的变量当中。它只能读取指针当前行的记录。正常情况下,FETCH要和循环语句一起使用,这样指针会不断前进,知道某个条件不符合要求而退出。使用FETCH时游标属性%ROWCOUNT会不断累加。具体用法:

    FETCH stunames INTO stuname ;

语法说明:stunames:指游标的名称

stuname:变量名

(4)关闭游标

  关闭某个名称的游标。此时释放资源,结果集中的数据将不能做任何操作。

CLOSE stunames;

本文标签: 有什么游标作用数据库