Boa noite Senhores,
Estou desenvolvendo uma aplicação onde vou utilizar varios cursores,
gostaria de criar uma (função/procedure) onde eu enviasse o cursor
e variavel do tipo do cursor como parametro e para executar dinamicamente.
Abaixo vou incluir um exemplo para ilustrar minha duvida:
Exemplo.
declare
CURSOR c_pessoa IS
select
nome,
cpf,
rg,
dt_nascimento from pessoa;
v_pessoa c_pessoa%rowtype;
Cursor c_endereco is
select
cidade,
rua,
numero
from endereco;
v_endereco c_endereco %rowtype;
vresult boolean := false;
function executa_cursor(param1, param2)return true
begin
OPEN param1;
LOOP
FETCH param1
INTO param2;
EXIT WHEN param1%NOTFOUND;
END LOOP;
CLOSE param1;
return true;
exception
when others then
return false;
end executa_cursor;
begin
vresult := executa_cursor(c_pessoa , v_pessoa );
if vresult then
dbms_output.put_line(‘ok’);
vresult := false;
end if;
vresult := executa_cursor(c_endereco , v_endereco );
if vresult then
dbms_output.put_line(‘ok’);
end if ;
end;
Gostaria de saber se é possivel fazer isso no oracle, se sim como fazer?
Obrigado a todos;