Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dbandre29

Novamente sobre cursores

Recommended Posts

Alo amigos Tenho procedures em que fora desenvolvidas com uma serie de cursores aninhados , mas como cursor aloca muita memoria torna-se lentoAlgúem tem uma solução um pouco melhor nesse cenário em que eu dependa de um resultado de um select para pesquisar em outro dependendo dos parametros de entrada da minha proc ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

-------------------------------------------------------------------------------------- As dúvidas para as DBAs sobre o cenário é que em os as Views e as tabelas são hierárquicas ou seja para cada registro de uma tabela tem n dependentes de outra o verdadeiro 1- n , mas realmente é lento a procedure.----------------------------------------------------------------------------------- CURSOR cretorna_todos_gc IS SELECT matricula_gc FROM vw_rel_ger_oportunidade rretorna_todos_gc cretorna_todos_gc%ROWTYPE; CURSOR cretorna_gev_dir IS SELECT DISTINCT tm.matricula_gev FROM vw_rel_ger_oportunidade v1 WHERE v1.diretoria = pe_diretoria; rretorna_gev_dir cretorna_gev_dir%ROWTYPE; CURSOR cretorna_gc (cpsupervisor NUMBER) IS SELECT matricula FROM vw_retorna_gc WHERE supervisor = cpsupervisor; rretorna_gc cretorna_gc%ROWTYPE; CURSOR cretorna_cli (cpgc NUMBER) IS SELECT c.clie_codigo, l.lead_id FROM cliente_portal c, LEAD l WHERE clie_matr_gc = TO_CHAR (cpgc) AND c.clie_codigo = l.clie_codigo; rretorna_cli cretorna_cli%ROWTYPE; FOR rRETORNA_GEV_DIR IN cRETORNA_GEV_DIR LOOP FOR rRETORNA_GC IN cRETORNA_GC(rRETORNA_GEV_DIR.MATRICULA_GEV) LOOP FOR rRETORNA_CLI IN cRETORNA_CLI(rRETORNA_GC.MATRICULA) LOOP

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.