1.游标概念

        游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。主要解决从某一结果集中逐一地读取一条记录(主语言不能解决,一组主变量一次只能存放一条记录)。

2.游标的分类(显式游标、隐式游标)

         显式游标使用有4步:1.声明游标 2.打开游标 3.读取数据 4.关闭游标

结构如下:

注:只有当open(打开游标)时,才执行定义部分的select语句,把结果放入内存

当close(关闭游标)时, 清除内存数据

3.示例

例1循环遍历

注:Oracle游标有4个属性:%ISOPEN,%FOUND,%NOTFOUND,%ROWCOUNT。

%NOTFOUND表示游标所在的行无效

例2while循环

例3for循环(建议使用for循环,简单高效)

例4带参数的游标

例5可更新的游标

总结:能用简单的高效的sql完成尽量使用sql,而不要在cursor里打开、循环、执行sql的不高效动作。