今天为了实现某个接口的要求,研究了一下Oracle存储过程返回结果集。
1. 创建存储过程:
Create Or Replace Procedure GetDepartment(cur_Department out sys_refcursor)
As
Begin
Open cur_Department For Select A.*
From 部门表 A,部门性质说明 B
Where A.ID=B.部门ID And B.工作性质='临床' And B.服务对象=1;
End GetDepartment;
/
2. 存储过程调用,显示结果集
set serveroutput on;
DECLARE TYPE T_LIST IS TABLE OF 部门表%ROWTYPE;
cur_LIST T_LIST;
cur_Data sys_refcursor;
BEGIN
--调用存储过程
GetDepartment(cur_Data);
FETCH cur_Data BULK COLLECT INTO cur_LIST;
CLOSE cur_Data;
FOR i IN 1 .. cur_LIST.COUNT LOOP
DBMS_OUTPUT.put_line (cur_LIST(i).编码||','||cur_LIST(i).名称);
END LOOP;
END;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/99436/viewspace-774198/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/99436/viewspace-774198/