SlideShare una empresa de Scribd logo
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

La actualidad más candente

Clasificación de flynn (arquitectura del computador)
Clasificación de flynn (arquitectura del computador)Clasificación de flynn (arquitectura del computador)
Clasificación de flynn (arquitectura del computador)
rosluck29
 
Practicas estructuras de datos y algoritmos
Practicas estructuras de datos y algoritmosPracticas estructuras de datos y algoritmos
Practicas estructuras de datos y algoritmos
Chucho E. Peña
 
Lenguaje de programación JAVA
Lenguaje de programación JAVALenguaje de programación JAVA
Lenguaje de programación JAVA
josehpxxx
 
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelCompiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Estefhany1
 
Estructuras de ciclo: while,for,do while
Estructuras de  ciclo: while,for,do whileEstructuras de  ciclo: while,for,do while
Estructuras de ciclo: while,for,do while
Alfredo Huamani Escobar
 

La actualidad más candente (20)

Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Clasificación de flynn (arquitectura del computador)
Clasificación de flynn (arquitectura del computador)Clasificación de flynn (arquitectura del computador)
Clasificación de flynn (arquitectura del computador)
 
Practica cliente servidor java
Practica cliente servidor javaPractica cliente servidor java
Practica cliente servidor java
 
Triggers en BD mysql
Triggers en BD mysqlTriggers en BD mysql
Triggers en BD mysql
 
Practicas estructuras de datos y algoritmos
Practicas estructuras de datos y algoritmosPracticas estructuras de datos y algoritmos
Practicas estructuras de datos y algoritmos
 
Lenguaje de programación JAVA
Lenguaje de programación JAVALenguaje de programación JAVA
Lenguaje de programación JAVA
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelCompiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigación
 
Windows forms c# visual basic .net ejercicios
Windows forms c# visual basic .net ejerciciosWindows forms c# visual basic .net ejercicios
Windows forms c# visual basic .net ejercicios
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Estructuras de ciclo: while,for,do while
Estructuras de  ciclo: while,for,do whileEstructuras de  ciclo: while,for,do while
Estructuras de ciclo: while,for,do while
 
Algoritmo del baquero
Algoritmo del baqueroAlgoritmo del baquero
Algoritmo del baquero
 
Lenguaje de programacion de visual basic
Lenguaje de programacion de visual basicLenguaje de programacion de visual basic
Lenguaje de programacion de visual basic
 
Transaccion
TransaccionTransaccion
Transaccion
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 

Similar a CURSORES EN SQL SERVER

Conceptos basicos de programacion con pl sql
Conceptos basicos de programacion con pl sqlConceptos basicos de programacion con pl sql
Conceptos basicos de programacion con pl sql
Andrei Hortúa
 
Actividad2 capitulo I contenido
Actividad2 capitulo I  contenidoActividad2 capitulo I  contenido
Actividad2 capitulo I contenido
lorena duque
 

Similar a CURSORES EN SQL SERVER (20)

13 Guía_Fundamentos de Base de Datos.docx
13 Guía_Fundamentos de Base de Datos.docx13 Guía_Fundamentos de Base de Datos.docx
13 Guía_Fundamentos de Base de Datos.docx
 
13 Guía_Fundamentos de Base de Datos (1).docx
13 Guía_Fundamentos de Base de Datos (1).docx13 Guía_Fundamentos de Base de Datos (1).docx
13 Guía_Fundamentos de Base de Datos (1).docx
 
Pl
PlPl
Pl
 
Apunte plsql
Apunte plsqlApunte plsql
Apunte plsql
 
Conceptos basicos de programacion con pl sql
Conceptos basicos de programacion con pl sqlConceptos basicos de programacion con pl sql
Conceptos basicos de programacion con pl sql
 
02 sql reference
02   sql reference02   sql reference
02 sql reference
 
Consultas en SQL Server
Consultas en SQL ServerConsultas en SQL Server
Consultas en SQL Server
 
PL SQL Diplomado Oracle
PL SQL Diplomado OraclePL SQL Diplomado Oracle
PL SQL Diplomado Oracle
 
SESION-07.pptx
SESION-07.pptxSESION-07.pptx
SESION-07.pptx
 
Pl Sql
Pl SqlPl Sql
Pl Sql
 
SQL
SQLSQL
SQL
 
44777047 oracle
44777047 oracle44777047 oracle
44777047 oracle
 
CURSORES
CURSORESCURSORES
CURSORES
 
CURSORES
CURSORESCURSORES
CURSORES
 
Sql Sentencias
Sql Sentencias Sql Sentencias
Sql Sentencias
 
Consultasql
ConsultasqlConsultasql
Consultasql
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
 
5 cursores
5 cursores5 cursores
5 cursores
 
ResultSet
ResultSetResultSet
ResultSet
 
Actividad2 capitulo I contenido
Actividad2 capitulo I  contenidoActividad2 capitulo I  contenido
Actividad2 capitulo I contenido
 

Más de Lisbeth Ocaña Bueno

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

OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.
 
COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Comandos DDL
Comandos DDLComandos DDL
Comandos DDL
 
VISTAS
VISTASVISTAS
VISTAS
 
LENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQLLENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQL
 
Ejecutables en Netbeans
Ejecutables en NetbeansEjecutables en Netbeans
Ejecutables en Netbeans
 
REPORTES
REPORTESREPORTES
REPORTES
 
Objeto sqlcommand
Objeto sqlcommandObjeto sqlcommand
Objeto sqlcommand
 
OBJETO CONNECTION
OBJETO CONNECTIONOBJETO CONNECTION
OBJETO CONNECTION
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor de Base de Datos.
Gestor de Base de Datos.Gestor de Base de Datos.
Gestor de Base de Datos.
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Aplicaciones n capas en visual.net
Aplicaciones n capas en visual.netAplicaciones n capas en visual.net
Aplicaciones n capas en visual.net
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
JTABLE
JTABLEJTABLE
JTABLE
 
RESULTSET
RESULTSETRESULTSET
RESULTSET
 

Último

Último (11)

trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisiónPSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 

CURSORES EN SQL SERVER

  • 1.
  • 2.
  • 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.