PL-SQL Packages en OracleSi aprendes a usar la cláusula MINUS de la sentencia SELECT podrás adquirir una técnica que te permitirá analizar datos de forma más eficiente en tus PL-SQL Packages en Oracle, ya que MINUS es una de las herramientas analíticas que entrega Oracle para el análisis de gran cantidad de datos.

La cláusula MINUS permite comparar los resultados de dos querys en tus PL-SQL Packages en Oracle entregando como resultado las filas de la primera query que no encuentran su homologo en la segunda query. Esto es muy útil cuando necesitas buscar problemas de inconsistencias entre datos resumidos y datos detallados en tus PL-SQL Packages en Oracle, estas inconsistencias suelen ocurrir generalmente en los reportes o en modelos de datos que tienen una tabla de encabezado y otra de detalle.

Revisemos un ejemplo para que entiendas mejor como se debe usar la cláusula MINUS en tus PL-SQL Packages en Oracle.

Ejemplo #1: Supone que debes validar la consistencia entre dos tablas una de resumen y otra de detalles, porque una de las tablas tiene más filas que la otra y quieres saber cuáles son los registros que no están en la otra tabla, veamos cómo se debe hacer esta validación:

/* PL-SQL Packages en Oracle */

Select enc.id_empleado from t_movi_pers_enc enc where enc.id_departamento = pin_id_departamento;

Resultado de la consulta:

Id_empleado

101

102

211

212

301

305

309

Esta consulta en PL-SQL Packages en Oracle entrega todos los id_empleado que están en la tabla de encabezado de los movimientos de personal.

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

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

/* PL-SQL Packages en Oracle */

Select distinct det.id_empleado from t_movi_pers_det where det.id_departamento = pin_id_departamento;

Resultado de la consulta:

Id_empleado

101

102

212

301

309

Esta consulta en PL-SQL Packages en Oracle entrega todos los id_empleado que están en la tabla de detalles de los movimientos de personal.

A simple vista es fácil identificar los id_empleado que no están en el detalle, pero cuando se trata de miles de registros necesitas una herramienta que te ayude a identificarlos de forma más rápida y eficiente en tus PL-SQL Packages en Oracle. Veamos cómo se usa el MINUS para identificar los registros que faltan:

/* PL-SQL Packages en Oracle */

Select enc.id_empleado from t_movi_pers_enc enc where enc.id_departamento = pin_id_departamento

Minus

Select distinct det.id_empleado from t_movi_pers_det where det.id_departamento = pin_id_departamento;

Resultado de la consulta:

211

305

Esta consulta detecta de inmediato los id_empleado que faltan en la tabla detalle. Para que el MINUS funcione en tus PL-SQL Packages en Oracle las querys a comparar deben tener los campos seleccionados en el mismo orden y deben ser del mismo tipo.

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