www.devjoker.com

Subprogramas en bloques anónimos

    Dentro de la seccion DECLARE de un bloque anónimo podemos declarar funciones y procedimientos almacenados y ejecutarlos desde el bloque de ejecución del script.

    Este tipo de subprogramas son menos conocidos que los procedimientos almacenados, funciones y triggers, pero son enormemente útiles.

   El siguiente ejemplo declara y ejecuta utiliza una funcion (fn_multiplica_x2).


DECLARE
      idx NUMBER;
       FUNCTION fn_multiplica_x2(num NUMBER) 
       RETURN NUMBER
       IS
         result NUMBER;
       BEGIN
         result := num *2;
         return result;
       END fn_multiplica_x2;
BEGIN
     FOR idx IN 1..10
     LOOP
       dbms_output.put_line
('Llamada a la funcion ... '||TO_CHAR(fn_multiplica_x2(idx)));
     END LOOP;
    
END;

    Notese que se utiliza la funcion TO_CHAR para convertir el resultado de la función fn_multiplica_x2 (numérico) en alfanumérico y poder mostrar el resultado por pantalla.