刚学pl/sql编程,写了两个package。pkg_temp_fn31和pkg_temp_fn32。内容涉及pl/sql基本语法,游标变量,存储过程(in,out)。

  pkg_temp_fn31调用pkg_temp_fn32,pkg_temp_fn32中定义了out游标变量。

  • pkg_temp_fn31内有一个procedure test(p_mapid number)

  创建包规范

 create or replace package pkg_temp_fn31 is
   --25-03-2016
   procedure test(p_mapid number);
 end pkg_temp_fn31;
 --exec pkg_temp_fn31(&p_mapid);执行此包

  创建包规范

create or replace package body pkg_temp_fn31
is
 procedure test(p_mapid number) is
  p_cursor pkg_temp_fn32.ref_cursor;--
  p_personno t_fn_person.person_code%type;
  p_personname t_fn_person.person_name%type;
  begin
    pkg_temp_fn32.queryall(p_mapid,p_cursor);--
    loop
      fetch p_cursor into p_personno,p_personname;
      exit when p_cursor%notfound;
      dbms_output.put_line(p_personno||'''s person name is '||p_personname);
    end loop;
  end test;
end pkg_temp_fn31;
  • kg_temp_fn2内有一个procedure queryall(pmap_id number ,p_cursor out ref_cursor)

  创建包规范  

 create or replace package pkg_temp_fn32 is
 --25/03/2016
   type ref_cursor is ref cursor;--
   procedure queryall(pmap_id number ,p_cursor out ref_cursor);
 end pkg_temp_fn32;

  创建包规范

create or replace package body pkg_temp_fn32 is
procedure queryall(pmap_id number ,p_cursor out ref_cursor)
  is
  RF pkg_temp_fn32.ref_cursor;
  begin
    open RF for
      select x.person_code,x.person_name from t_fn_person x
               where x.map_id=pmap_id;
    p_cursor:=RF;
  end queryall;
end pkg_temp_fn32;

执行结果:

ORACLE之PACKAGE-游标变量的更多相关文章

  1. Oracle PLSQL游标、游标变量的使用

    参考文章:https://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html 在 PL/SQL 程序中,对于处理多行记录的事务经常使用游标来实 ...

  2. (转)oracle 存储过程 带游标作为OUT参数输出

    (转)oracle 存储过程 带游标作为OUT参数输出 存储过程返回OUT参数的游标 例子. 包中带过程 要自己定义一个type [cur_name] is ref cursor游标,返回的时候就直接 ...

  3. oracle存储过程、声明变量、for循环|转|

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  4. oracle存储过程、声明变量、for循环(转)

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  5. 公司需求知识自学-Oracle的Package的作用及用法

    Oracle的Package的作用 简化应用设计.提高应用性能.实现信息隐藏.子程序重载. 1.Oracle的Package除 了把存储过程放到一堆儿以外还有没有其他的作用(好处)? 你不觉得把存储过 ...

  6. [转]oracle存储过程、声明变量、for循环

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  7. oracle存储过程、声明变量、for循环

    oracle存储过程.声明变量.for循环  1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out t ...

  8. oracle 中的游标

    oracle 中的游标 通俗易懂的sql代码直接上! --简单的游标使用滴呀 --使用FOR OBJ IN OBJS LOOP ......END LOOP; DECLARE CURSOR C_JOB ...

  9. Oracle系列之游标

    涉及到表的处理请参看原表结构与数据  Oracle建表插数据等等 游标: 1.目的 解决“ select * ”返回空.多行记录问题 但凡select,就可能多行结果集,也就需要用游标 2.原理 多行 ...

随机推荐

  1. jquery.loadmask.js

    Quick Start 下载之后的目录结构如下图所示: 使用此插件非常简单,如下步骤所示: 1.  引用jquery,1.2.3以上版本 <script type="text/java ...

  2. mybatis generator配置文件

    <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration ...

  3. 转载“启动\关闭Oracle数据库的多种方法”--来自百度#Oracle

    启动\关闭Oracle数据库的多种方法 启动和关闭oracle有很多种方法. 这里只给出3种方法: l         Sql*plus l         OEM控制台 l         Wind ...

  4. Nltest

    查看登陆到的DC:

  5. BZOJ 1043 HAOI2008 下落的圆盘 计算几何

    题目大意:n个圆盘依次下落.求终于能看到的轮廓线面积 円盘反对! 让我们一起团结起来! 赶走円盘! 咳咳.非常神的一道题 今天去看了题解和白书才搞出来-- 首先我们倒着做 对于每一个圆盘处理出在它之后 ...

  6. Spark Core源代码分析: Spark任务运行模型

    DAGScheduler 面向stage的调度层,为job生成以stage组成的DAG,提交TaskSet给TaskScheduler运行. 每个Stage内,都是独立的tasks,他们共同运行同一个 ...

  7. TreeView1MouseMove

    procedure TForm1.TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,   Y: Integer); var   nod ...

  8. Delphi调用Dll的的2种写法

         unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, F ...

  9. Quart 2D 绘制图形简单总结

    0  CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 1 CGContextMoveToPoint 开始画线 2 CGConte ...

  10. PHP 更高效的字符长度判断方法(转)

    今天看到有人说,在做字符串长度判断的时候,有个比strlen效率更高的方法.即: $str = ‘aaaaaa’; ) VS }) 晚上自己用例子简单测试下,情况基本属实,特此记录下.后者效率几乎是前 ...