create or replace
FUNCTION test_fun (
p_ref_cur OUT SYS_REFCURSOR,
p_a_code IN NUMBER DEFAULT 0,
p_category IN package.category%TYPE DEFAULT NULL,
p_name IN package.name%TYPE DEFAULT NULL,
p_display_name IN package.display_name%TYPE DEFAULT NULL,
p_rowid IN package."rowid"%TYPE DEFAULT NULL,
p_flg IN package.flg%TYPE DEFAULT '1',
p_mod_dat IN package.mod_dat%TYPE DEFAULT SYSTIMESTAMP,
p_mod_usr IN package.mod_usr%TYPE DEFAULT NULL
)
RETURN NUMBER
AS
Как вызвать эту функцию в оракуле, который имеет SYS_REFCURSOR в качестве параметра OUT?
Обновление: **test_fun** будет вызываться из другой функции, скажем, caller(), где полная функция, которая должна быть выполнена, будет взята из базы данных и выполнена с использованием немедленной команды execute. .
SELECT command into cmd from data_table where id=p_id;
execute immediate (cmd);
Значение cmd будет похоже на
test_fun(v_cv1,0, 'pp', 'np123', 'np', NULL, 1, NULL, 'testuser');
ПРИМЕЧАНИЕ. У нас есть контроль над выполнением функции caller() и cmd, но нет контроля над test_fun()
Буду признателен за любую оказанную помощь.