miércoles, 27 de enero de 2010

Cursores en SQL

DECLARE
@pk_tarea AS VARCHAR;
DECLARE
@descripcion as Varchar;

-- declaro el cursor.
DECLARE CURSOR_TAREA CURSOR FOR
-- mi consulta
select pk_Tarea
, convert(varchar,tarea) as tarea
from tarea

-- abro el cursor ojo... a lo ultimo debe cerrarse.
OPEN CURSOR_TAREA
-- saco el primer registro.
FETCH NEXT from CURSOR_TAREA
-- y las meto en mis variables.. cuidando el orden.
INTO @pk_tarea , @descripcion;

WHILE
@@FETCH_STATUS = 0
BEGIN
PRINT 'PKTAREA : ' + @pk_tarea
PRINT 'DESCRIPCION : ' + @descripcion

-- aqi avanzo al proximo registro
FETCH NEXT from CURSOR_TAREA
-- y le pongo los nuevos valores a mis variables..
INTO @pk_tarea , @descripcion;

END
;

CLOSE CURSOR_TAREA;
DEALLOCATE CURSOR_TAREA;
-- y por ultimo estas dos lineas para cerrar el cursos... ojo...sino despues salen errores.. porq el cursor se quedo abierto...

No hay comentarios:

Publicar un comentario