cursores

Páginas: 3 (599 palabras) Publicado: 6 de noviembre de 2013
Cursores en Transact SQL
    Un cursor es una variable que nos permite recorrer con un conjunto de resultados obtenido a través de una sentencia SELECT fila a fila.
    Cuando trabajemos concursores debemos seguir los siguientes pasos.
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
    La sintaxis general para trabajar con un cursor es la siguiente.

-- Declaración del cursor
DECLARE CURSOR
FOR

 
-- apertura del cursorOPEN
 
-- Lectura de la primera fila del cursor
FETCH INTO
 
WHILE (@@FETCH_STATUS = 0)
BEGIN
-- Lectura de la siguiente fila de un cursor
FETCH INTO
...
END -- Fin del bucle WHILE
 -- Cierra el cursor
CLOSE
-- Libera los recursos del cursor
DEALLOCATE

    El siguente ejemplo muestra el uso de un cursor. 

-- Declaracion de variables para el cursor
DECLARE @Id int,@Nombre varchar(255),
@Apellido1 varchar(255),
@Apellido2 varchar(255),
@NifCif varchar(20),
@FxNacimiento datetime

-- Declaración del cursor
DECLARE cClientes CURSOR FOR
SELECT Id,Nombre, Apellido1,
Apellido2, NifCif, FxNacimiento
FROM CLIENTES
-- Apertura del cursor
OPEN cClientes
-- Lectura de la primera fila del cursor
FETCH cClientes INTO @id, @Nombre, @Apellido1,@Apellido2, @NifCif, @FxNacimiento
 
WHILE (@@FETCH_STATUS = 0 )
BEGIN
PRINT @Nombre + ' ' + @Apellido1 + ' ' + @Apellido2
-- Lectura de la siguiente fila del cursor
FETCH cClientes INTO@id, @Nombre, @Apellido1,
@Apellido2, @NifCif, @FxNacimiento
END
 
-- Cierre del cursor
CLOSE cClientes
-- Liberar los recursos
DEALLOCATE cClientes

    Cuando trabajamos con cursores,la funcion @@FETCH_STATUS nos indica el estado de la última instrucción FETCH emitida, los valores posibles son:
Valor devuelto
Descripción
0
La instrucción FETCH se ejecutó correctamente.
-1...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Cursores
  • Manejo de cursores
  • CURSORES EN ORACLE
  • Cursores Oracle
  • Cursor mosca
  • iconos y cursores
  • Cursores
  • Cursores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS