Sepa como utilizar el JOIN en los Packages en Oracle

Saber utilizar correctamente la cláusula JOIN en las consultas SELECT de Oracle te permitirá desarrollar querys más eficientes, ya que podrás realizar solo una consulta a la Base de Datos Oracle en vez de varias consultas separadas lo que genera procesos que se demoran en entregar los resultados.

A muchos desarrolladores les es muy difícil aplicar el JOIN en sus consultas SELECT porque no entienden como funciona realmente, a mi personalmente me costo un poco aprender a dominarlo pero una vez que lo entiendes te vuelves un adicto y lo utilizas siempre.

Veamos un ejemplo práctico para entender mejor como se debe utilizar el JOIN en las consultas SELECT:

Ejemplo #1: Supongamos que se necesita obtener datos de dos tablas para ser retornados por un procedimiento, veamos las dos formas de hacerlo:

Procedure Prc_Forma_Uno(pin_rut  in  number, pst_nom_persona  out  varchar2, pst_nom_depto  out  varchar2) is

lin_id_departamento     number;

Begin

select emp.nombre, emp.id_departamento into pst_nom_persona,

       lin_id_departamento from t_empleado emp where emp.rut = pin_rut;

select dep.descripcion into pst_nom_depto from t_departamento dep

        where dep.id_departamento = lin_id_departamento;

Exception

When Others Then

Pst_nom_persona:= ‘Proceso terminado con error’;

End Prc_Forma_Uno;

En esta primera forma se realizan 2 consultas a la Base de Datos, la primera para obtener el nombre de la persona y el id del departamento, luego se hace una segunda consulta para obtener el nombre del departamento.

TÚ REPORTE: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”  ¡ Haz Click Aquí y Descárgalo GRATIS Ahora !

Procedure Prc_Forma_Dos(pin_rut  in  number, pst_nom_persona  out  varchar2, pst_nom_depto  out  varchar2) is

Begin

select emp.nombre, dep.descripcion into pst_nom_persona,

      pst_nom_depto from t_departamento dep, t_empleado emp

      where emp.rut = pin_rut and   

             dep.id_departamento = emp.id_departamento ;

Exception

When Others Then

Pst_nom_persona:= ‘Proceso terminado con error’;

End Prc_Forma_Dos;

En esta segunda forma se realiza una sola consulta a Base de Datos porque se realiza un JOIN entre las tablas t_empleado y t_departamento por su campo en común que es el id_departamento (dep.id_departamento = emp.id_departamento).

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 Packages en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con Packages 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 7 Pasos

Esta entrada fue publicada en Function en Oracle, Packages en Oracle, Procedures en Oracle y etiquetada , , , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s