我有我在其中声明游标的包。我想将该游标作为 PROCEDURE 的 OUT 变量返回。我不能只从该游标中获取数据,因为数据需要首先由 load_data proc 加载。我不想使用那个 MMM_CURSOR 因为有额外的功能,它使用相同的选择 - 在数据库级别写入文件。
create or replace PACKAGE BODY PCG_MMM AS
CURSOR MMM_CURSOR(OFFSET NUMBER) IS
SELECT TYPE, VALUE FROM MMM_TEMP_LOGS WHERE VALUE = OFFSET;
TYPE RET_TYPE IS REF CURSOR;
PROCEDURE LOAD_DATA AS
-- loading data into MMM_TEMP_LOGS--
END LOAD_DATA;
PROCDURE WRITE_TO_FILE AS
BEGIN
-- writing to file here --
END WRITE_TO_FILE;
PROCEDURE GET_DATA(DATA RET_TYPE, OFFSET NUMBER:=0) AS
BEGIN
LOAD_DATA;
DATA := MMM_CURSOR(OFFSET) ; <--- ??
END GET_DATA;
END PCG_MMM;