¿Cómo se Construye un CURSOR mas Eficiente?

Saber dónde, cómo y cuándo usar un CURSOR te ayudara a construir Packages en Oracle mas eficientes, que sean rápidos para procesar la información y fáciles de mantener por cualquier desarrollador en Oracle.

El CURSOR es una de las mejores herramientas de Oracle que se usa para manipular gran cantidad de información de la Base de Datos, es decir, cuando se necesita obtener mas de un registro de una o varias tablas se debe utilizar un Cursor, si solo se va a obtener un dato o un registro de la Base de Datos basta con utilizar un SELECT el que permite asignar los datos a variables con su cláusula INTO.

Un CURSOR se puede utilizar dentro de Procedures en Oracle o Function en Oracle, básicamente un Cursor es una Query o Select a Base de Datos que permite obtener una serie registros los que serán procesados por el Procedure o Function. A diferencia de un Select el Cursor debe ser recorrido por un ciclo FOR o por un ciclo WHILE para leer cada registro entregado por el cursor y que pueda ser procesado.

A continuación revisaremos un ejemplo de Procedures en Oracle para que entiendas mejor todo esto:

/* Procedures en Oracle */                                                                                                         Procedure Prc_Datos_Empleado(  p_Id_Departamento  In Out Number ) Is                      Cursor cur_Empleados Is                                                                                                         Select emp.nombre, emp.direccion, emp.edad, emp.id_departamento                                                                                                                    From T_Empleados Emp                                                                                                                    Where Emp.id_departamentpo = p_Id_Departamento;                                                      Begin                                                                                                                                                             For reg_Emp In cur_Empleados  Loop                                                                                    if reg_Emp.Edad > 30 then  … procesar empleado …    end if;                                         End Loop;                                                                                                                              Exception                                                                                                                                                    When Others Then p_id_Departamento:= null;                                                                End Prc_Datos_Empleado;

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

Es este ejemplo se puede ver que se ha construido un Procedure que recibe como parámetro el id_departamento, luego se construye un cursor que consulta la tabla de empleados para obtener todos los empleados que pertenecen al departamento pasado como parámetro, luego se procesa el cursor con un ciclo For y dentro del ciclo For se pregunta si la edad del empleado es mayor que 30 años el registro será procesado y se realizarán acciones sobre la Base de Datos.

En resumen, para saber usar un CURSOR correctamente se debe aplicar lo siguiente en los Packages en Oracle:

1. Se debe procesar más de un registro.                                                                                        2. Se puede usar dentro de Procedures en Oracle y Fucntion en Oracle.                                  3. Cada registro se debe recorrer con un ciclo For o While.                                                        4. Realizar pruebas con Cursores dentro de sus Bases de Datos para entender mejor su funcionamiento.

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 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