martes, agosto 09, 2011

2.7 Subprogramas: ¿Que son los procedimientos y las funciones?


Un subprograma en PL/SQL son los bloques que escribimos en el código como ya lo habíamos mencionado anteriormente. Estos programas se pueden guardar en la base de datos y los podemos ejecutar de nuevo en otros programas o herramientas.

En los subprogramas de PL/SQL tenemos estas partes que son:
La cabecera o especificación del subprograma: que es la parte en la que donde encontramos la definición de los parámetros con sus tipos (y el valor de retorno en el caso de las funciones).

El cuerpo del subprograma: Es un bloque que incluye las declaraciones instrucciones y manejo de las excepciones.
PROCEDIMIENTOS:
Su estructura es la siguiente:


Debemos comenzar con la palabra PROCEDURE y termina después del ultimo parámetro. El cuerpo inicia con la palabra IS o también con AS y termina con la palabra END y opcional mente con la nombre del procedimiento.

Ejemplo de procedure:


Para Invocar el procedure es indispensable dos cosas, una de ellas es activar el paquete de interacción con el usurario del paquete DBMS_OUTPUT, e incluimos en los programas el procedimiento PUT_LINE para poder visualizar los textos en la pantalla. DBMS_OUTPUT.

Y además la variable de entorno SERVEROUTPUT deberá estar en ON, de caso contrario los programas no mostraran algún dato, y solo mostrara el texto. 

“Procedimiento terminado con éxito” entonces escribimos


Y después de activar la variable de entorno, escribimos el código para ejecutar el procedimiento:


Otro ejemplo tenemos:


Ejemplo de otro procedure:


En este ejemplo, cómo podemos ver en la línea 9, el numero del empleado “EMPNO” no tiene un valor numérico dado, este se introduce por teclado, es decir, cuando se ejecute el programa, el programa nos pedirá que ingresemos una “clave” que es este caso el numero de un empleado para poder mostrar su nombre. Esto es posible poniendo como vemos la siguiente expresión:
WHERE id=‘&clave;

Otro ejemplo es este, es como el caso anterior, pero la diferencia es que aquí si damos un valor a “EMPNO”:




FUNCIONES:
Estas tienen una estructura muy similar a los procedimientos, la diferencia es que estas devuelven un valor.
Veamos su anatomía:


La cláusula RETURN de la cabecera significa que el valor retorna una función, En el cuerpo del programa se hará efectivo ere retorno utilizando dicha cláusula junto con la expresión el cual dará el valor de retorno.

NOTA: podemos crear o reemplazar una función escribiendo:
CREATE OR REPLACE FUNCTION <Nombre_funcion>

Un ejemplo de una funciones la siguiente:


Otro ejemplo tenemos:


No hay comentarios:

Publicar un comentario