En algunos SGDB es posible la abertura de cursores de datos desde el propio entorno de trabajo, para ello se utilizan, normalmente procedimientos almacenados. La sintaxis para definir un cursor es la siguiente:
DECLARE
nombre-cursor
FOR
especificacion-consulta
[ORDER BY]
Por ejemplo:
DECLARE
Mi_Cursor
FOR
SELECT num_emp, nombre, puesto, salario
FROM empleados
WHERE num_dept = 'informatica'
Este comando es meramente declarativo, simplemente especifica las filas y columnas que se van a recuperar. La consulta se ejecuta cuando se abre o se activa el cursor. La cláusula [ORDER BY] es opcional y especifica una ordenación para las filas del cursor; si no se especifica, la ordenación de las filas es definida el gestor de SGBD.
Para abrir o activar un cursor se utiliza el comando OPEN del SQL, la sintaxis en la siguiente:
OPEN
nombre-cursor
[USING lista-variables]
Al abrir el cursor se evalúa la consulta que aparece en su definición, utilizando los valores actuales de cualquier parámetro referenciado en la consulta, para producir una colección de filas. El puntero se posiciona delante de la primera fila de datos (registro actual), esta sentencia no recupera ninguna fila.
Una vez abierto el cursos se utiliza la cláusula FETCH para recuperar las filas del cursor, la sintaxis es la siguiente:
FETCH
nombre-cursor
INTO
lista-variables
Lista - variables son las variables que van a contener los datos recuperados de la fila del cursor, en la definición deben ir separadas por comas. En la lista de variables se deben definir tantas variables como columnas tenga la fila a recuperar.
Para cerrar un cursor se utiliza el comando CLOSE, este comando hace desaparecer el puntero sobre el registro actual. La sintaxis es:
CLOSE
nombre-cursor
Por último, y para eliminar el cursor se utiliza el comando DROP CURSOR. Su sintaxis es la siguiente:
DROP CURSOR
nombre-cursor
1. Curso de MySQL con PHP El gestor de bases de datos MySQL se basa en el sistema de bases de datos... [10/01/11] |
1.754 | ||||
2. Introducción al lenguaje SQL Curso de programación, aprende el lenguaje sql que es un lenguaje de acceso a bases... [16/11/11] |
131 | ||||
3. SQL. Uso de la clausula WHERE Vamos a aprender a hacer algunas consultas en sql desde las básicas hasta algunas... [19/12/11] |
7 |