Я хочу выполнить динамический запрос в моей конвейерной функции и вернуть результаты этого запроса. Можно ли сделать это? Конвейерная функция удобна для меня, чтобы получить хороший интерфейс для моего приложения, потому что он ведет себя как таблица.
Функция:
CREATE OR REPLACE FUNCTION MyFunction(p_schema VARCHAR2) RETURN MyTableType Pipelined IS
v_query VARCHAR2(1000);
BEGIN
v_query := 'SELECT * FROM TABLE ('||p_schema||'.somepackage.SomeFunction)'; --SomeFunction is another pipelined function
EXECUTE IMMEDIATE v_query;
--Results of the v_query are compatible with MyTableType's row type. But how to return them from pipelined function?
END;