Cursores en Sql Server - Bases de Datos en Microsoft Sql Server 2014 (34-35)
Buen día amigos de IncanatoIt, continuamos en este curso de base de datos en Microsoft Sql Server 2014, en este artículo trabajaremos con el uso de cursores.
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
--Declaramos la variable de tipo cursor
Ejemplo 2:
Saludos Imperio, un abrazo a la distancia.
Puedes seguir el curso Completo desde:
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
Cursores
Los cursores son una herramienta de SQL que nos permite recorrer el resultado de una consulta SQL y realizar operaciones en cada paso de esta. Es así como nos ayuda a realizar operaciones que de otro modo serían más complejas o imposibles.
Declaración de un Cursor - Sintáxis
Declare Nombre_Cursor
[INSENSITIVE][SCROLL] CURSOR
FOR EXPRESSION_SELECT
[FOR READ ONLY
| UPDATE [OF column_name[,…n]]]
Ejemplos:
Ejemplo 1:
Implementar un cursos básico donde se imprima el primer registro de la table PASAJERO.
Tabla Pasajero
--Declaramos la variable de tipo cursor
--donde
almacenamos los registros de la consulta
--pasajero
DECLARE
micursorpas CURSOR
FOR select
* from PASAJERO
--aperturamos
el cursor
OPEN
micursorpas
--accedemos
al primer registro del cursos con el operador
--next
FETCH NEXT FROM micursorpas
--Cerramos
el cursor
close
micursorpas
--liberamos
el cursor con el operador deallocate
deallocate
micursorpas
Ejemplo 2:
Implementar un cursor donde se imprima en forma de reporte a los registros de la tabla PASAJERO.
Tabla Pasajero - Pais
--Declaramos
las variables locales que representaran
--el valor
de las columnas
DECLARE
@idpasajero char(8),@pasajero char(20),
@pais char(10),@documento char(12)
--declaramos
el cursor con la consulta de la tabla pasajero
--y país
DECLARE
micursor CURSOR
FOR select
pas.idpasajero,
(pas.nombre+ ' ' +pas.apaterno) as pasajero,
pai.nombre as pais,pas.num_documento
from pasajero pas inner join pais pai
on pas.idpais=pai.idpais
--aperturamos
el cursos
OPEN
micursor
--obtenemos
el primer registro y enviamos el valor
--a las
variables correspondientes
FETCH micursor INTO
@idpasajero,@pasajero,@pais,@documento
--Imprimimos
la cabecera del reporte
PRINT 'CODIGO
PASAJERO PAIS DOCUMENTO'
PRINT '----------------------------------------------------------'
--Implementamos
una estructura iterativa para poder
--imprimir
todos los registros
WHILE @@FETCH_STATUS=0
BEGIN
PRINT @idpasajero+space(5)+@pasajero+space(5)+
@pais+space(5)+@documento
FETCH micursor INTO
@idpasajero,@pasajero,@pais,@documento
END
--Cerramos
el cursor
close
micursor
--liberamos
el cursor con el operador deallocate
deallocate
micursor
Cursores (34-35) Bases de Datos en Microsoft Sql Server 2014
Cursores en Sql Server - Bases de Datos en Microsoft Sql Server 2014 (34-35)
Reviewed by IncanatoIt-ad
on
16:30
Rating:
no se puede descargar el backup
ResponderEliminarHola Juan, mil gracias por los cursos, una consulta, esto de los cursores también se puede realizar utilizando variables de tipo tabla y recorriendo-las con while, cual proceso gasta menos memoria o carga menos el servidor?.
ResponderEliminar