首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Oracle存储过程回到结果集

2013-03-26 
Oracle存储过程返回结果集这里以Oracle的scott/tiger作为示例数据表,Oracle通过返回REF CURSOR来返回结果

Oracle存储过程返回结果集

这里以Oracle的scott/tiger作为示例数据表,Oracle通过返回REF CURSOR来返回结果集。

1.创建包:

  1  CREATE OR REPLACE PACKAGE TYPES AS  2     TYPE BJ_CURSOR IS REF CURSOR;  3* END;SQL> /程序包已创建。

?

2.创建过程:

  1    CREATE OR REPLACE PROCEDURE BJ_TEST_PROC  2      (  3              V_TEMP OUT TYPES.BJ_CURSOR,  4              PID IN VARCHAR  5      )  6      AS  7      BEGIN  8              OPEN V_TEMP FOR SELECT * FROM emp WHERE deptno = PID;  9*    END BJ_TEST_PROC;SQL> /过程已创建。

?

3.设置SQLPLUS环境

SQL> set pagesize 50;SQL> set linesize 1024;SQL> set serveroutput on;

?

4.调用过程:

SQL> var a refcursorSQL>  var n numberSQL> exec :n:=10PL/SQL 过程已成功完成。SQL>  call BJ_TEST_PROC(:a,:n);

?

5.输出结果:

SQL> print a     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ----------      7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10      7839 KING       PRESIDENT            17-11月-81           5000                    10      7934 MILLER     CLERK           7782 23-1月 -82           1300                    10

?

?

?

[img]  8              OPEN V_TEMP FOR SELECT * FROM emp WHERE deptno = PID;   [/img]
引用[u][/u]引用
我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html

热点排行