SlideShare una empresa de Scribd logo
2
Lo más leído
8
Lo más leído
CURSORES EN SQL SERVER
CURSORES EN SQL SERVER
En SQL Server un cursor puede
definirse como un elemento que
representará a un conjunto de datos
determinado por una consulta T-SQL,
el cursor permitirá recorrer fila a fila,
leer y eventualmente modificar dicho
conjunto de resultados.
DECLARACIÓN:
El primer paso constará de la
declaración del cursor, donde se
indicarán (junto con el nombre del
cursor) la consulta que el mismo
representará y algunas otras
características bastante interesantes.
APERTURA:
La apertura del cursor ejecutará la
consulta definida en el paso previo y
cargará los datos en el mismo. La
función OPEN de T-SQL permitirá
efectuar esta terea, para continuar
con el ejemplo previo la forma de
abrir el cursor será la siguiente:
CIERRE:
En el cierre del cursor se liberarán los
registros tomados por el mismo. Una
vez que el cursor es cerrado ya no
podrá recorrerse el conjunto de
resultados hasta que el mismo sea
reabierto, la sentencia CLOSE
cerrará un cursor abierto.
DESALOJO:
Este paso eliminará la referencia
al cursor definido previamente,
por lo que ya no será posible
realizar una reapertura del mismo.
DECLARE @COL1 VARCHAR(50),@COL2 VARCHAR(30),@COL3 VARCHAR(30),@COL4 INT
--DECLARACION DEL CURSOR
DECLARE C_ALUMNO_HERMANOS CURSOR FOR
SELECT Nombres,ApellidoPaterno,ApellidoMaterno,NroHermanos FROM Alumno
WHERE NroHermanos>0
--ABRIR DATOS
OPEN C_ALUMNO_HERMANOS
--LISTAR DATOS
FETCH C_ALUMNO_HERMANOS INTO @COL1,@COL2,@COL3,@COL4
WHILE(@@FETCH_STATUS=0)
BEGIN
PRINT @COL1 +' | '+ @COL2+' | '+@COL3+' | '+RTRIM(STR(@COL4))
FETCH C_ALUMNO_HERMANOS INTO @COL1,@COL2,@COL3,@COL4
END
--CERRAR CURSOR
CLOSE C_ALUMNO_HERMANOS
--DESALOJAR
DEALLOCATE C_ALUMNO_HERMANOS
EJEMPLO:
CONCLUSIÓN:
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 más práctico usar el comando SELECT
… INTO
Como el Firebird nos permite tener abiertos dos,
tres, o más cursores al mismo tiempo entonces
podemos extraer de cada uno de ellos las
columnas que necesitamos para procesarlas.

Más contenido relacionado

PPTX
Diagramas de estados
PPTX
Diagrama de clases
PPT
B. manejo de concurrencia
PPTX
Manejo de triggers en sql server
PPTX
Programación Orientada a Objetos - Resumen
DOCX
Traductor y su estructura
PDF
Alfabetos-Lenguajes y Automatas 1
PPTX
Normalización de Base de Datos
Diagramas de estados
Diagrama de clases
B. manejo de concurrencia
Manejo de triggers en sql server
Programación Orientada a Objetos - Resumen
Traductor y su estructura
Alfabetos-Lenguajes y Automatas 1
Normalización de Base de Datos

La actualidad más candente (20)

DOCX
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
PPT
Elemento tipicos de las interfaces graficas de usuario
PPT
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
PPTX
Los 13 diagramas UML y sus componentes
PPTX
Tipos de algoritmos
PPTX
1-Unidad 1. Arquitectura de Diseño
PPTX
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
PPTX
Modelo Entidad Relación
PPTX
Características MONGO DB
PPTX
Origen del Modelo OSI y su impacto en als estructuras de redes
PPTX
Automatas de estado finito
PPTX
Ciclo de instrucción
PPTX
Diagramas de objetos
PPTX
PPTX
Modos de direccionamiento y formatos
ODP
Gestion de memoria en Linux
PPTX
Agentes reactivos basados en modelos
PPTX
TRIGGERS O DISPARADORES
PDF
Uml clase 04_uml_clases
PDF
Casos de uso
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Elemento tipicos de las interfaces graficas de usuario
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Los 13 diagramas UML y sus componentes
Tipos de algoritmos
1-Unidad 1. Arquitectura de Diseño
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
Modelo Entidad Relación
Características MONGO DB
Origen del Modelo OSI y su impacto en als estructuras de redes
Automatas de estado finito
Ciclo de instrucción
Diagramas de objetos
Modos de direccionamiento y formatos
Gestion de memoria en Linux
Agentes reactivos basados en modelos
TRIGGERS O DISPARADORES
Uml clase 04_uml_clases
Casos de uso
Publicidad

Similar a CURSORES EN SQL SERVER (20)

PPTX
Cursores
PPTX
cursores
PPTX
5-cursores-18050415fhdhdhdhdh5828 (2).pptx
DOCX
PPTX
SESION-07.pptx
DOCX
13 Guía_Fundamentos de Base de Datos (1).docx
DOCX
13 Guía_Fundamentos de Base de Datos.docx
DOCX
Sesion08 - Cursores (Oracle)
PPT
Semana 5 y 6 cursores implícitos y explícitos
PPT
7090112 Clase Transact Sql Server
PPTX
Universidad politecnica amazonica
PPT
BD_L8_EXP_ROZIC_CAP9_SQL
DOC
Sentencias Sql
PPT
Lenguaje transact
PDF
103305862 t-sql
Cursores
cursores
5-cursores-18050415fhdhdhdhdh5828 (2).pptx
SESION-07.pptx
13 Guía_Fundamentos de Base de Datos (1).docx
13 Guía_Fundamentos de Base de Datos.docx
Sesion08 - Cursores (Oracle)
Semana 5 y 6 cursores implícitos y explícitos
7090112 Clase Transact Sql Server
Universidad politecnica amazonica
BD_L8_EXP_ROZIC_CAP9_SQL
Sentencias Sql
Lenguaje transact
103305862 t-sql
Publicidad

Más de Lisbeth Ocaña Bueno (20)

PPTX
OLAP - Procesamiento Analítico en Línea.
PPTX
COPIA DE SEGURIDAD Y RESTAURACIÓN.
PPTX
TRANSACCIONES
PPTX
PROCEDIMIENTOS ALMACENADOS
PPTX
Comandos DDL
PPTX
LENGUAJE TRANSACT - SQL
PPTX
Ejecutables en Netbeans
PPTX
PPTX
Objeto sqlcommand
PPTX
OBJETO CONNECTION
PPTX
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
PPTX
Gestor de Base de Datos.
PPTX
Programación orientada a objetos
PPTX
Aplicaciones n capas en visual.net
PPTX
Prepared statement
PPTX
PPTX
OLAP - Procesamiento Analítico en Línea.
COPIA DE SEGURIDAD Y RESTAURACIÓN.
TRANSACCIONES
PROCEDIMIENTOS ALMACENADOS
Comandos DDL
LENGUAJE TRANSACT - SQL
Ejecutables en Netbeans
Objeto sqlcommand
OBJETO CONNECTION
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
Gestor de Base de Datos.
Programación orientada a objetos
Aplicaciones n capas en visual.net
Prepared statement

Último (11)

PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
sistemas de informacion.................
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PPTX
Implementación equipo monitor12.08.25.pptx
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Fundamentos de Python - Curso de Python dia 1
sistemas de informacion.................
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Derechos_de_Autor_y_Creative_Commons.pptx
Conceptos basicos de Base de Datos y sus propiedades
Su punto de partida en la IA: Microsoft 365 Copilot Chat
AutoCAD Herramientas para el futuro, Juan Fandiño
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
Implementación equipo monitor12.08.25.pptx
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf

CURSORES EN SQL SERVER

  • 3. En SQL Server un cursor puede definirse como un elemento que representará a un conjunto de datos determinado por una consulta T-SQL, el cursor permitirá recorrer fila a fila, leer y eventualmente modificar dicho conjunto de resultados.
  • 4. DECLARACIÓN: El primer paso constará de la declaración del cursor, donde se indicarán (junto con el nombre del cursor) la consulta que el mismo representará y algunas otras características bastante interesantes.
  • 5. APERTURA: La apertura del cursor ejecutará la consulta definida en el paso previo y cargará los datos en el mismo. La función OPEN de T-SQL permitirá efectuar esta terea, para continuar con el ejemplo previo la forma de abrir el cursor será la siguiente:
  • 6. CIERRE: En el cierre del cursor se liberarán los registros tomados por el mismo. Una vez que el cursor es cerrado ya no podrá recorrerse el conjunto de resultados hasta que el mismo sea reabierto, la sentencia CLOSE cerrará un cursor abierto.
  • 7. DESALOJO: Este paso eliminará la referencia al cursor definido previamente, por lo que ya no será posible realizar una reapertura del mismo.
  • 8. DECLARE @COL1 VARCHAR(50),@COL2 VARCHAR(30),@COL3 VARCHAR(30),@COL4 INT --DECLARACION DEL CURSOR DECLARE C_ALUMNO_HERMANOS CURSOR FOR SELECT Nombres,ApellidoPaterno,ApellidoMaterno,NroHermanos FROM Alumno WHERE NroHermanos>0 --ABRIR DATOS OPEN C_ALUMNO_HERMANOS --LISTAR DATOS FETCH C_ALUMNO_HERMANOS INTO @COL1,@COL2,@COL3,@COL4 WHILE(@@FETCH_STATUS=0) BEGIN PRINT @COL1 +' | '+ @COL2+' | '+@COL3+' | '+RTRIM(STR(@COL4)) FETCH C_ALUMNO_HERMANOS INTO @COL1,@COL2,@COL3,@COL4 END --CERRAR CURSOR CLOSE C_ALUMNO_HERMANOS --DESALOJAR DEALLOCATE C_ALUMNO_HERMANOS EJEMPLO:
  • 9. CONCLUSIÓN: 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 más práctico usar el comando SELECT … INTO Como el Firebird nos permite tener abiertos dos, tres, o más cursores al mismo tiempo entonces podemos extraer de cada uno de ellos las columnas que necesitamos para procesarlas.