PL-SQL Function en OracleSi aprendes a decidir cuando se debe construir PL-SQL Procedures en Oracle (Procedimientos Almacenados) o PL-SQL Function en Oracle (Funciones) comenzaras a desarrollar aplicaciones de software que sean modulares, ordenadas, eficientes y fáciles de mantener.

Algunas personas me han comentado que llevan mucho tiempo trabajando con PL-SQL Packages en Oracle y aun no comprenden cuando se debe construir un Procedimiento (PL-SQL Procedures en Oracle) o una Función (PL-SQL Function en Oracle) en la Base de Datos Oracle. Sinceramente también fue una pregunta que yo mismo me hice por mucho tiempo, pero que finalmente pude encontrar la respuesta, formulándome solo dos pequeñas preguntas para cada caso, las que permiten entender el concepto más rápidamente.

Veamos el significado de PL-SQL Procedures en Oracle y cuando se debe utilizar:

Los PL-SQL Procedures en Oracle (Procedimiento) son un conjunto de etapas, métodos o definiciones paso a paso, que se utilizan para resolver un problema. Es un subprograma o parte de un programa principal que en Oracle se denominan PL-SQL Packages en Oracle.

Para determinar si debes construir PL-SQL Procedures en Oracle tienes que responder de forma afirmativa a las siguientes preguntas:

  1. ¿El proceso debe recibir Parámetros de Entrada?
  2. ¿El proceso debe retornar varios Parámetros de Salida?

Por ejemplo, si necesitas un proceso que te permita obtener los datos de un empleado en particular, las respuestas a las preguntas 1 y 2 es SI, por lo tanto debes construir un Procedimiento (PL-SQL Procedures en Oracle) como el siguiente:

/* PL-SQL Procedures en Oracle */

Procedure Prc_Infor_Empleado(

p_Rut      In Number,

p_Nombre Out Varchar2,

p_Direccion Out Varchar2,

p_Edad Out Number,

p_Id_Departamento Out Number) Is

Begin

Select emp.nombre, emp.direccion, emp.edad, emp.id_departamento

Into p_Nombre, p_Direccion, p_Edad, p_Id_Departamento

From T_Empleados Emp

Where Emp.Rut = p_Rut;

Exception

When No_Data_Found Then p_Nombre:= ‘Empleado no existe';

End Prc_Infor_Empleado;

/* PL-SQL Procedures en Oracle */

Los PL-SQL Procedures en Oracle siempre deben recibir al menos un parámetro de entrada y deberá tener uno o varios parámetros de salida, pueden haber excepciones donde tal vez no necesites parámetros de salida, pero por lo menos se debe tener un parámetro de salida que indique si el proceso termino correctamente.

Veamos el significado de PL-SQL Function en Oracle y cuando se debe utilizar:

Las PL-SQL Function en Oracle (Función) son un conjunto de instrucciones que tienen un objetivo en particular y permiten retornar un resultado, pueden ser ejecutadas desde cualquier parte del código. Las PL-SQL Function en Oracle a diferencia de los PL-SQL Procedures en Oracle siempre devuelve un valor como respuesta.

Para determinar si debes utilizar una PL-SQL Function en Oracle tienes que responder de forma afirmativa a las siguientes preguntas:

  1. ¿Lo que voy a desarrollar será ocupado en otros procesos?
  2. ¿Debo obtener siempre un solo resultado?

Por ejemplo, si determinas que en varios procesos que debes construir para tu aplicación, siempre necesitas obtener la edad de un empleado para poder controlar ciertas acciones, las respuestas a las preguntas 1 y 2 es SI,  por lo tanto debes construir una PL-SQL Function en Oracle como la siguiente:

/* PL-SQL Function en Oracle */

Function Fnc_Empleado_Edad(p_Rut      In Number) Return Number Is

l_Edad Number;

Begin

Select emp.edad Into l_Edad From T_Empleados Emp Where Emp.Rut = p_Rut;

Return l_Edad;

Exception

When No_Data_Found Then Return 0;

End Fnc_Empleado_Edad;

/* PL-SQL Function en Oracle */

Una PL-SQL Function en Oracle puede recibir uno o varios parámetros de entrada pero siempre debe retornar un solo valor como salida, en este caso la edad del empleado. Esta PL-SQL Function en Oracle puede ser utilizada por cualquier proceso que requiera obtener la edad del empleado.

Te propongo que pruebes de inmediato estas preguntas en los procesos que debas desarrollar en la Base de Datos Oracle, con tus propios PL-SQL Procedures en Oracle y PL-SQL Function en Oracle que debas construir, para que comiences a ejercitar la mano y aprendas a dominar esta nueva técnica en tus PL-SQL Packages en Oracle.

Estoy muy interesado en conocer tu opinión y/o comentario sobre este artículo, también cuéntame sobre qué es lo que quieres saber de PL-SQL Procedures en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con PL-SQL Function en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.

Saludos

Roberto Vicencio – Para Tu Éxito con Oracle.

Director del Curso “Domina Tus Packages En Oracle