WEB开发网
开发学院数据库Oracle 使用OLE DB和ADO调用返回记录集的Oracle存储过程 阅读

使用OLE DB和ADO调用返回记录集的Oracle存储过程

 2007-05-13 12:32:00 来源:WEB开发网   
核心提示: --定义一个名为Employees的程序包头CREATE OR REPLACE PACKAGE Employees ASTYPE empcur IS REF CURSOR;--empcur为自定义REF CURSOR类型--声明一个存储过程GetEmpRecordsPROCEDURE Ge
--定义一个名为Employees的程序包头
CREATE OR REPLACE PACKAGE Employees AS
TYPE empcur IS REF CURSOR;
--empcur为自定义REF CURSOR类型
--声明一个存储过程GetEmpRecords
PROCEDURE GetEmpRecords(p_cursor OUT empcur,
q_cursor OUT empcur,
indeptno IN NUMBER,
p_errorcode OUT NUMBER);
--声明一个存储函数GetDept
FUNCTION GetDept(inempno IN NUMBER,
p_errorcode OUT NUMBER)
RETURN empcur;
END Employees; ---程序包头定义结束
--定义Employees的程序包体
--定义存储过程GetEmpRecords
CREATE OR REPLACE PACKAGE BODY Employees AS PROCEDURE GetEmpRecords(p_cursor OUT empcur, q_cursor OUT empcur,
indeptno IN NUMBER, p_errorcode OUT NUMBER) IS
BEGIN
p_errorcode := 0; -- p_errorcode为错误编号
--打开游标变量p_cursor,查询所属部门编号
--为indeptno的所有职工的信息
OPEN p_cursor FOR
SELECT * FROM emp
WHERE deptno = indeptno ORDER BY empno;
--打开游标变量q_cursor,查询所属部门编号
--为indeptno的所有职工的编号信息
OPEN q_cursor FOR
SELECT empno FROM emp
WHERE deptno = indeptno ORDER BY empno;
EXCEPTION --例外处理
WHEN OTHERS THEN
p_errorcode:= SQLCODE;
END GetEmpRecords; --存储过程GetEmpRecords定义结束
--定义存储函数GetDept
FUNCTION GetDept(inempno IN NUMBER,
p_errorcode OUT NUMBER)
RETURN empcur IS p_cursor empcur; --返回值
BEGIN
p_errorcode := 0;

--查询职工编号为inempno的职工的所属部门编号

上一页  1 2 3 4 5  下一页

Tags:使用 OLE DB

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接