以下代码摘自上述包规范的包正文说明了 GetLocations 包中的第一个过程的实现细节
CREATE OR new PACKAGE BODY CRUD_LOCATIONS AS
PROCEDURE GetLocations (cur_Locations OUT T_CURSOR)
IS
BEGIN
OPEN cur_Locations FOR
SELECT * FROM LOCATIONS;
END GetLocations;
Implementation of other procedures ommitted
END CRUD_LOCATIONS;
使用 DataReader
可以通过调用 OracleCommand 对象的 ExecuteReader() 方法来创建 OracleDataReader本节说明如何使用 DataReader 来访问由存储过程 SELECT_JOB_HISTORY 返回的结果集以下为包规范
CREATE OR new PACKAGE SELECT_JOB_HISTORY AS
TYPE T_CURSOR IS REF CURSOR;
PROCEDURE GetJobHistoryByEmployeeId
(
p_employee_id IN NUMBER
cur_JobHistory OUT T_CURSOR
);
END SELECT_JOB_HISTORY;
包正文定义了一个过程该过程检索指定员工的工作经历的结果集并将其作为 REF CURSOR 输出参数返回
CREATE OR new PACKAGE BODY SELECT_JOB_HISTORY AS
PROCEDURE GetJobHistoryByEmployeeId
(
p_employee_id IN NUMBER
cur_JobHistory OUT T_CURSOR
)
IS
BEGIN
OPEN cur_JobHistory FOR
SELECT * FROM JOB_HISTORY
WHERE employee_id = p_employee_id;
END GetJobHistoryByEmployeeId;
END SELECT_JOB_HISTORY;
[] [] [] [] [] [] [] []