tengo el siguiente problema
ORA-00604: se ha producido un error a nivel 1 de SQL recursivo
ORA-01000: número máximo de cursores abiertos excedido
ORA-00604: se ha producido un error a nivel 1 de SQL recursivo
ORA-01000: número máximo de cursores abiertos excedido
ORA-01000: número máximo de cursores abiertos excedido
estos problemas me están surgiendo en mi aplicación java pero son errores oracle
tengo la siguiente duda:
no se si deba cerrar el cursor oracle siguiente o eso es automatico y por eso me este dando problemas cuando uso functions oracle como estas:
igual el error me lo da cuando se procesan grandes cantidades en mi aplicacion o sea se llama muchas veces functions como esta
Código PHP:
FUNCTION CAUSANTES_VIGENTES( pRUT_BENEFICIARIO IN NUMBER)
RETURN sqlcur IS
cRetorno sqlcur;
BEGIN
OPEN cRetorno FOR
SELECT c.per_rut, -- rut beneficiario
p.per_digito, -- dv beneficiario
c.cfa_rut rutCausante, -- rut causante
c.cfa_digito dvCausante, -- dv causante
c.cfa_nombre nombreCausante, -- nombre causante
t.tcs_tipcau codigoTipoCausante, -- cdigo tipo causante
decode(c.tcf_tipo, 'MATERNAL', 2, 1) codigoBeneficio, -- codigo beneficio
c.cfa_fecnac fechaNacCausante, -- fecha nacimiento causante
c.cfa_sexo sexo -- sexo causante
FROM saf_carga c,
afi_persona p,
saf_tipparen t
WHERE c.per_rut = pRUT_BENEFICIARIO -- rut beneficiario
AND p.per_rut = c.per_rut
AND t.tpr_paren = c.tpr_paren
AND c.cfa_rut<>0
AND c.cfa_rut is not null;
RETURN cRetorno;
END CAUSANTES_VIGENTES;