Aqui o código que atualmente eu utilizado.
create or replace function test_cursor(p_query in varchar2)
return sys_refcursor
is
c_result sys_refcursor;
begin
open c_result for p_query;
return c_result;
end;
create or replace function test_cursor(p_query in varchar2)
return sys_refcursor
is
c_result sys_refcursor;
begin
open c_result for p_query;
return c_result;
end;
Mas pra fazer uma pipelined eu tenho que declarar as colunas de retorno, não? No meu caso, eu não teria certo as colunas, pois cada select me retornaria uma quantidade diferente, como eu faço isso com pipelined, teria um exemplo? Gratotiago_pimenta escreveu:Cara, você pode fazer uma function com retorno "pipelined" !!!
DECLARE
my_cursor SYS_REFCURSOR;
TYPE employee_ntt IS TABLE OF employees%ROWTYPE;
l_employees employee_ntt;
BEGIN
OPEN my_cursor FOR 'SELECT * FROM employees';
FETCH my_cursor
BULK COLLECT INTO l_employees;
DBMS_OUTPUT.put_line (l_employees.COUNT);
CLOSE my_cursor;
END allrows_by;
Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes