ITPub博客

首页 > 数据库 > Oracle > 【PLSQL】游标简述

【PLSQL】游标简述

原创 Oracle 作者:J_Force 时间:2016-06-03 10:13:50 0 删除 编辑
  1. 静态游标

    • 显式 
      普通的预先定义的,且已与SQL关联的CURSOR都属于显式静态游标。
    • 隐式 
      未预先定义的游标,但ORACLE在PLSQL中每执行一次DML都会有隐式游标,通常与游标变量(SQL%XXX)结合使用,下一篇会展开。
  2. 动态游标

    • REF

    静态游标是在运行前将游标变量和SQL关联,而动态游标恰恰相反是在运行后将游标变量和SQL进行关联。

    REF游标实例:

    点击(此处)折叠或打开

    1. DECLARE
    2.   TYPE cus_cur_type IS REF CURSOR RETURN chg_test_b%ROWTYPE; --强类型Ref游标,查询的sql必须返回chg_test_b表类型
    3.   --type cus_cur_type is ref cursor;弱类型Ref游标,返回类型没有限制
    4.   rowlist cus_cur_type; -- 声明游标变量
    5.   rowvalue chg_test_b%ROWTYPE; --声明行变量
    6. BEGIN
    7.   OPEN rowlist FOR --打开游标,并关联sql
    8.     SELECT * FROM chg_test_b b;
    9.   LOOP
    10.     FETCH rowlist
    11.       INTO rowvalue; --按行取出数据
    12.     EXIT WHEN rowlist%NOTFOUND; --判断是否还存在记录,如果不存在终止游标
    13.     dbms_output.put_line(rowvalue.chg_name); --将的到的值打印,如果查询只有一个字段这里只需写变量名即可。
    14.   END LOOP;
    15.   CLOSE rowlist; --关闭游标
    16. END;
    来源:http://blog.itpub.net/25357621/viewspace-686922/


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29599494/viewspace-2113308/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-04-10

  • 博文量
    19
  • 访问量
    37203