You are on page 1of 3

Instituto Tecnolgico de Morelia

Jos Mara Morelos y


Pavn
Taller de Base de Datos
Mtro.: Adrin Nez
- Cursores en MySQL
Alumna:
Joana Guadalupe Mendoza Rodrguez
13120169

Cursores en MySQL
Un cursor es una variable que nos permite recorrer un conjunto de resultados obtenidos a travez
de una sentencia SELECT fila por fila.
Estos nos ayudaran a obtener los valores de nuestras tablas de una forma facil y ordenada. Se
soportan cursores simples dentro de procedimientos y funciones almacenadas. La sintaxis es la de
SQL empotrado. Los cursores no son sensibles, son de solo lectura, y no permiten scrolling.
Los cursores deben declararse antes de declarar los handlers, y las variables y condiciones deben
declararse antes de declarar cursores o handlers.
Uso:
El uso de los cursores es una tcnica que permite tratar fila por fila el resultado de una consulta,
contrariamente al SELECT SQL que trata un conjunto de fila. Los cursores pueden ser
implementador por instrucciones TRANSACT-SQL (cursores ANSI-SQL) o por la API OLE-DB.
Se utilizaran los cursores ANSI cuando sea necesario tratar las filas de manera individual en un
conjunto o cuando SQL no pueda actuar nicamente sobre las filas afectadas. Los cursores API
sern utilizados por las aplicaciones cliente para tratar volmenes importantes o para gestionar
varios conjuntos de resultados.
Cuando trabajemos con cursores, debemos seguir los siguientes pasos:

Sintaxis

Declarar el cursor, utilizando DECLARE


Abrir el cursor, utilizando OPEN
Leer los datos del cursor, utilizando FETCH ... INTO
Cerrar el cursor, utilizando CLOSE
Liberar el cursor, utilizando DEALLOCATE

Ventajas

Eficacia. El optimizador de consultas selecciona automticamente el plan de consulta


adecuado para que el desarrollador no tenga que disear un algoritmo complejo para tener
acceso a los datos necesarios.
Adaptabilidad. A medida que los ndices o cambios de datos se agregan o eliminan, el
optimizador de consultas adapta automticamente su comportamiento utilizando planes
alternativos.
Menos errores. En lugar de que el desarrollador controle los datos y los algoritmos de la
aplicacin, el SQL Server Compact 4.0 Motor de base de datos admite de forma nativa las
operaciones necesarias

Desventajas:

Recuperar una fila del cursor puede resultar un retraso, se le debe de dar el tiempo
necesario para enviar la peticin al SGBD y esperar los datos.
Utiliza mucho mas ancho de banda de la red de lo que se necesitara por norma general
para ejecutar una sola sentencia SQL como DELETE.
Reservar recursos en el servidor, como por ejemplo locks, packages, procesos,
almacenamiento temporal, etc.

Ejemplos:

Conclusin: Los cursores son muy tiles sobre todo cuando no podemos tener todas las columnas
que necesitamos en un solo SELECT. Si podemos tener a todas las columnas en un solo SELECT
puede ser ms prctico usar el comando SELECT INTO
Como el Firebird nos permite tener abiertos dos, tres, o ms cursores al mismo tiempo entonces
podemos extraer de cada uno de ellos las columnas que necesitamos para procesarlas.
Muchas veces, en lugar de estar escribiendo un SELECT complicado, lleno de JOINs o de UNIONs es
mucho ms fcil, rpido y sencillo, usar varios cursores, se nos simplifica la vida de esta manera.

You might also like