PL-SQL Procedures en OracleSi aprendes a crear parámetros por defecto en tus PL-SQL Procedures en Oracle podrás solucionar algún tipo de problema que ocurra en un procedimiento en particular sin afectar a los demás procesos que también lo están ocupando, es decir, si para solucionar un problema necesitas agregar un nuevo parámetro a un Procedure que está siendo ocupado por otros procesos, debes modificar también los otros procesos que ocupan el Procedure para agregar el nuevo parámetro, pero si creas un parámetro por defecto no necesitas hacer esos cambios en tus PL-SQL Procedures en Oracle.

En los PL-SQL Procedures en Oracle los parámetros por defecto solo se pueden definir como parámetros de entrada y se deben colocar al final de la lista de parámetros. Revisemos un ejemplo para que entiendas mejor como se deben usar los parámetros por defecto en tus PL-SQL Procedures en Oracle.

Ejemplo #1: Supone que tienes un procedimiento almacenado al que le debes agregar un nuevo parámetro que solo será enviado desde un lugar, pero el procedimiento está siendo ocupado también por otros procesos. Veamos primero la forma tradicional y luego usando el parámetro por defecto:

Procedimiento original.

/* PL-SQL Procedures en Oracle */

Procedure Prc_Validar_Empleado(  pin_id_empleado        in number,

pin_rut                        in number,

pst_nombre                in varchar2

) Is

Begin

< Validar los datos del empleado … >

End Prc_Validar_Empleado;

El procedimiento original prc_validar_empleado contiene 3 parámetros de entrada.

Agregar parámetro de forma tradicional.

/* PL-SQL Procedures en Oracle */

Procedure Prc_Validar_Empleado(  pin_id_empleado        in number,

pin_rut                        in number,

pst_nombre                in varchar2,

pin_edad                   in number

) Is

Begin

< Validar los datos del empleado … >

End Prc_Validar_Empleado;

Se agrega el cuarto parámetro pin_edad de forma tradicional.

Primera llamada tradicional del procedimiento.

/* PL-SQL Procedures en Oracle */

Procedure prc_ingreso_emp(pin_rut in number) is

lin_edad number:= 30;

Begin

Prc_Validar_Empleado(lin_id_empleado,pin_rut,lst_nombre,lin_edad);

End prc_ingreso_emp;

En la primera llamada se agrega el nuevo parámetro lin_edad al procedimiento prc_validar_empleado.

Segunda llamada tradicional del procedimiento.

/* PL-SQL Procedures en Oracle */

Procedure prc_modificar_emp(pin_rut in number) is

lin_edad number:= 0;

Begin

Prc_Validar_Empleado(lin_id_empleado,pin_rut,lst_nombre,lin_edad);

End prc_modificar_emp;

En la segunda llamada el nuevo parámetro lin_edad se envía con el valor cero al procedimiento prc_validar_empleado, si no se envía el parámetro el proceso no se compila.

TÚ REPORTE: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”

¡ Haz Click Aquí y Descárgalo GRATIS Ahora !

Agregar parámetro con valor por defecto.

/* PL-SQL Procedures en Oracle */

Procedure Prc_Validar_Empleado(  pin_id_empleado        in number,

pin_rut                        in number,

pst_nombre                in varchar2,

pin_edad                   in number default 0

) Is

Begin

< Validar los datos del empleado … >

End Prc_Validar_Empleado;

Se agrega el parámetro pin_edad con el valor cero por defecto.

Primera llamada del procedimiento con parámetro por defecto.

/* PL-SQL Procedures en Oracle */

Procedure prc_ingreso_emp(pin_rut in number) is

lin_edad number:= 30;

begin

Prc_Validar_Empleado(lin_id_empleado,pin_rut,lst_nombre,lin_edad);

End prc_ingreso_emp;

En la primera llamada se envía el parámetro lin_edad con el valor 30.

Segunda llamada del procedimiento con parámetro por defecto.

/* PL-SQL Procedures en Oracle */

Procedure prc_modificar_emp(pin_rut in number) is

Begin

Prc_Validar_Empleado(lin_id_empleado,pin_rut,lst_nombre);

End prc_modificar_emp;

En la segunda llamada no es necesario enviar el parámetro lin_edad, ya que si no se envía el procedimiento asume cero como valor por defecto. De esta forma modificas solo la llamada al procedimiento que debe enviar el parámetro y no todas las llamadas que existan en tus PL-SQL Procedures en Oracle.

Te propongo que pruebes de inmediato este ejemplo en tu Base de Datos con tus propios PL-SQL Procedures en Oracle y PL-SQL Function en Oracle, 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 Procedures en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.

Saludos

Roberto Vicencio - Escritor del Reporte:

Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos