刚学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. java中MessageDigest加密工具类

    import java.security.MessageDigest; public class EncryptionKit { public static String md5Encrypt(Str ...

  2. 【JDBC】预编译SQL与防注入式攻击

    在JDBC编程中,常用Statement.PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedS ...

  3. c++地址对齐

    在一些计算机上,由于性能方面的原因,2个字节的变量,必须放在2的倍数的地址中,4个字节的,就必须放在4的倍数中的地址中,以此类推. 也就是说,如果有3个占用两个字节的变量,分别为:A,B,C,如下图: ...

  4. android EditText控制光标的位置

    利用自定义键盘,需要手动删除编辑框中的文本时,会根据光标的位置来删除字符.那么,如何来控制光标呢,android为我们提供了哪些方法,来处理光标呢? 这里提供几个自己写的方法,根据这些方法可以满足在光 ...

  5. C#获取当前应用程序所在路径及环境变量

    一.获取当前文件的路径 string str1=Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名. string st ...

  6. shiro安全三部曲

    源:http://blog.csdn.net/boonya/article/details/8233435 第一部分 Shiro简介及项目目录结构 最新官方示例下载:http://shiro.apac ...

  7. python中List操作

    传送门 官方文件地址 list.append(x): 将x加入列表尾部,等价于a[len(a):] = [x] 例: >>> list1=[1,2,3,4] >>> ...

  8. Hadoop 2.0+YARN启动脚本分析与实战经验

    start-all.sh脚本现在已经废弃,推荐使用start-dfs.sh和start-yarn.sh分别启动HDFS和YARN. 在新一代的Hadoop里面HDFS称为了统一存储的平台,而YARN成 ...

  9. Struts2常量的具体用法实例(一)

    XML代码: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC ...

  10. Cocos2d-x 让精灵随手指移动起来二(简单实现)

    void HelloWorld::ccTouchMoved(cocos2d::CCTouch *touch, cocos2d::CCEvent *event) { CCSize winSize = C ...