Нужно динамически вызвать процедуру, которая возвращает некий result set, типы колонок заранее неизвестны.
Нужно убедиться, что возвращается хотя бы одна строка. Для этого нужно сделать fetch, но во что его фетчить, если тип записи неизвестен?
Примерно как то так:
Code: Select all
CREATE OR REPLACE PROCEDURE SP_TEST(pProcedureName VARCHAR2)
IS
v_Statement VARCHAR(250);
v_cur SYS_REFCURSOR;
BEGIN
v_Statement := 'begin ' || pProcedureName || '(:r); end;';
EXECUTE IMMEDIATE v_Statement USING v_cur;
FETCH v_cur INTO ????;
CLOSE v_cur;
END;