ORACLE之PACKAGE-游标变量
刚学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-游标变量的更多相关文章
- Oracle PLSQL游标、游标变量的使用
参考文章:https://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html 在 PL/SQL 程序中,对于处理多行记录的事务经常使用游标来实 ...
- (转)oracle 存储过程 带游标作为OUT参数输出
(转)oracle 存储过程 带游标作为OUT参数输出 存储过程返回OUT参数的游标 例子. 包中带过程 要自己定义一个type [cur_name] is ref cursor游标,返回的时候就直接 ...
- oracle存储过程、声明变量、for循环|转|
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...
- oracle存储过程、声明变量、for循环(转)
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...
- 公司需求知识自学-Oracle的Package的作用及用法
Oracle的Package的作用 简化应用设计.提高应用性能.实现信息隐藏.子程序重载. 1.Oracle的Package除 了把存储过程放到一堆儿以外还有没有其他的作用(好处)? 你不觉得把存储过 ...
- [转]oracle存储过程、声明变量、for循环
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...
- oracle存储过程、声明变量、for循环
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out t ...
- oracle 中的游标
oracle 中的游标 通俗易懂的sql代码直接上! --简单的游标使用滴呀 --使用FOR OBJ IN OBJS LOOP ......END LOOP; DECLARE CURSOR C_JOB ...
- Oracle系列之游标
涉及到表的处理请参看原表结构与数据 Oracle建表插数据等等 游标: 1.目的 解决“ select * ”返回空.多行记录问题 但凡select,就可能多行结果集,也就需要用游标 2.原理 多行 ...
随机推荐
- jquery.loadmask.js
Quick Start 下载之后的目录结构如下图所示: 使用此插件非常简单,如下步骤所示: 1. 引用jquery,1.2.3以上版本 <script type="text/java ...
- mybatis generator配置文件
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration ...
- 转载“启动\关闭Oracle数据库的多种方法”--来自百度#Oracle
启动\关闭Oracle数据库的多种方法 启动和关闭oracle有很多种方法. 这里只给出3种方法: l Sql*plus l OEM控制台 l Wind ...
- Nltest
查看登陆到的DC:
- BZOJ 1043 HAOI2008 下落的圆盘 计算几何
题目大意:n个圆盘依次下落.求终于能看到的轮廓线面积 円盘反对! 让我们一起团结起来! 赶走円盘! 咳咳.非常神的一道题 今天去看了题解和白书才搞出来-- 首先我们倒着做 对于每一个圆盘处理出在它之后 ...
- Spark Core源代码分析: Spark任务运行模型
DAGScheduler 面向stage的调度层,为job生成以stage组成的DAG,提交TaskSet给TaskScheduler运行. 每个Stage内,都是独立的tasks,他们共同运行同一个 ...
- TreeView1MouseMove
procedure TForm1.TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var nod ...
- Delphi调用Dll的的2种写法
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, F ...
- Quart 2D 绘制图形简单总结
0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 1 CGContextMoveToPoint 开始画线 2 CGConte ...
- PHP 更高效的字符长度判断方法(转)
今天看到有人说,在做字符串长度判断的时候,有个比strlen效率更高的方法.即: $str = ‘aaaaaa’; ) VS }) 晚上自己用例子简单测试下,情况基本属实,特此记录下.后者效率几乎是前 ...