zoukankan      html  css  js  c++  java
  • Oracle数据库游标精解

    游标

    定义:标识结果集中数据行的一种容器(CURSOR),游标允许应用程序对查询语句返回的行结果集中的每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作。实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用,尽管游标能够遍历查询所有结果集的每一行,但是它一次只能指向一行。

    类型:(1)隐式游标

    (2)显示游标

    结构:

    1、声明游标 -- 用于存放一个结果集

    2、声明该游标的游标变量

    3、打开游标

    4、将游标中的数据遍历到游标变量中

    5、关闭游标 

    例1:显示游标中的所有信息

    --声明游标
    declare
        --定义一个行类型变量存放游标行数据
        mycs student%rowtype;
        --声明一个游标
        cursor mycursor is select * from student;
        /*--声明一个该游标变量
        mycursor mycs;
        */
    begin
        --打开游标
        open mycursor;
        --通过loop循环遍历整个游标
        loop
        --提取游标行数据
        fetch mycursor into mycs; 
        --当游标遍历到没有行数的时候就结束游标遍历
        exit when mycursor%NOTFOUND;
        dbms_output.put_line('姓名:'||mycs.sname||'学号:'||mycs.sno);
        end loop;
       close mycursor;
    end;

    1、参数游标:声明带有参数的游标

    cursor cursor_name(参数名  参数数据类型) is select ...from...where...

    注意:必须在select 语句的where子句中引用游标参数,否则失去了定义参数游标的意义。

    例1:使用参数游标获取部门为30的员工信息

  • 相关阅读:
    EffectiveC++ 第6章 继承与面向对象设计
    关于并查集的路径压缩(Path Compress)优化
    EffectiveC++ 第5章 实现
    linux 中ls命令文件夹颜色修改
    linux中发出“滴”的怪声的解决方案
    java 常量池技术
    linux与window文件路径问题
    struts上传文件大小超过配置值的问题
    MDC介绍 -- 一种多线程下日志管理实践方式
    java单例模式的二种正确实现
  • 原文地址:https://www.cnblogs.com/tangjiang-code/p/7658076.html
Copyright © 2011-2022 走看看