Recursion mutua

luis
02 de Febrero del 2006
Hola
al hacer dos funciones recursivas una respecto de la otra y probarlo en un programa principal me da el siguiente mensaje de error:
declare
*
ERROR en línea 1:
ORA-04020: detectado interbloqueo al intentar bloquear el objeto SYS.PAR

Aqui muestro el codigo de estas funciones:

create or replace function impar (n natural) return boolean is
BEGIN
RETURN(null);
END;
create or replace function par(n natural) return boolean is
begin
if(n=0)then
return true;
else
return impar(n-1);
end if;
end par;
create or replace function impar(n natural) return boolean is
begin
if(n=0)then
return false;
else
return par(n-1);
end if;
end impar;
set serveroutput on;
declare
b boolean:=false;
begin
b:=par(0);
if b then dbms_output.put_line(\'par\');
end if;
end;


Gracias.
Saludos!