CREATE OR REPLACE
FUNCTION factorial (obj IN PLS_INTEGER) RETURN PLS_INTEGER IS
num PLS_INTEGER := 1;
res PLS_INTEGER := 1;
BEGIN
DBMS_OUTPUT.PUT_LINE('Numeros factoriales');
WHILE res < obj LOOP
res := res * num;
DBMS_OUTPUT.PUT_LINE(num);
num := num + 1;
END LOOP;
IF res = obj THEN
DBMS_OUTPUT.PUT_LINE('El resultado es ');
RETURN res;
ELSE
DBMS_OUTPUT.PUT_LINE('El resultado no dio exacto : ');
RETURN res;
END IF;
END;
/** Para mostrarlo**/
SET SERVEROUTPUT ON
DECLARE
x PLS_INTEGER := 180;
BEGIN
DBMS_OUTPUT.PUT_LINE(factorial(x));
END;
No hay comentarios:
Publicar un comentario