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.