4. Procedimientos y Funciones

Contenido

En PL/SQL (Procedural Language/SQL), los procedimientos y funciones son dos tipos de bloques de c贸digo que encapsulan l贸gicas espec铆ficas para ser ejecutadas dentro de una base de datos Oracle. Ambos permiten realizar tareas espec铆ficas, pero tienen diferencias clave en cuanto a su prop贸sito y c贸mo se utilizan.

1.聽Creaci贸n y ejecuci贸n de procedimientos almacenados

Los procedimientos almacenados en PL/SQL son bloques de c贸digo nombrados que realizan una o m谩s acciones espec铆ficas. Pueden ser invocados desde cualquier parte del c贸digo PL/SQL. Aqu铆 est谩 la estructura b谩sica para crear un procedimiento almacenado:

				
					CREATE [OR REPLACE] PROCEDURE nombre_procedimiento (par谩metros)
IS
    -- Declaraciones
BEGIN
    -- Cuerpo del procedimiento
END nombre_procedimiento;

				
			

Para ejecutar un procedimiento almacenado, simplemente utilizas la sentencia EXECUTE o el nombre del procedimiento seguido de par茅ntesis si no tienes par谩metros de entrada:

				
					EXECUTE nombre_procedimiento(parametros);

				
			

Ejercicio N潞 2 : Funciones

Sobre el caso pr谩ctico de la base de datos del diagrama HR crear las diferentes funciones que se solicitan.

  • Creaci贸n de una funci贸n para sumar dos n煤meros, visualizando el resultado directamente y tambi茅n almacen谩ndolo para mostrarlo posteriormente.
  • 聽Almacenar la funci贸n anterior en la base de datos.
  • 聽Utilizar la funci贸n almacenada anteriormente en bloques an贸nimos.
  • 聽Realizar una consulta que nos muestre el c贸digo de trabajo, el nombre del trabajo, el salario m铆nimo, el salario m谩ximo junto con la suma de estos dos trabajos, utilizando la funci贸n almacenada.

<< Resoluci贸n >>

2.聽Par谩metros de entrada y salida

Los procedimientos almacenados pueden aceptar par谩metros de entrada y salida para hacerlos m谩s flexibles y reutilizables. Aqu铆 tienes c贸mo se definen los par谩metros en un procedimiento:

				
					CREATE OR REPLACE PROCEDURE nombre_procedimiento (par谩metro_entrada IN tipo,
                                                   par谩metro_salida OUT tipo)
IS
BEGIN
    -- Cuerpo del procedimiento
END nombre_procedimiento;

				
			

Puedes utilizar los par谩metros de entrada para pasar valores al procedimiento y los par谩metros de salida para devolver valores al c贸digo que llama al procedimiento. Para ejecutar un procedimiento con par谩metros de salida, necesitar谩s declarar variables para almacenar los valores devueltos:

				
					DECLARE
    variable_salida tipo;
BEGIN
    nombre_procedimiento(valor_entrada, variable_salida);
    -- Utilizar la variable_salida seg煤n sea necesario
END;

				
			

3.聽Utilizaci贸n de funciones en PL/SQL

Las funciones en PL/SQL son similares a los procedimientos, pero devuelven un valor. Pueden ser utilizadas en expresiones SQL, asignaciones de variables y en otros lugares donde se espera un valor. Aqu铆 est谩 la estructura b谩sica para crear una funci贸n:

				
					CREATE [OR REPLACE] FUNCTION nombre_funcion (par谩metros)
RETURN tipo
IS
    -- Declaraciones
BEGIN
    -- Cuerpo de la funci贸n
    RETURN valor_devuelto;
END nombre_funcion;

				
			

Para ejecutar una funci贸n, simplemente la utilizas como cualquier otra expresi贸n en PL/SQL. Por ejemplo:

				
					DECLARE
    resultado tipo;
BEGIN
    resultado := nombre_funcion(parametros);
    -- Utilizar el resultado seg煤n sea necesario
END;

				
			

Las funciones son 煤tiles para encapsular l贸gica espec铆fica y realizar c谩lculos que pueden ser reutilizados en m煤ltiples partes de tu c贸digo.