SlideShare una empresa de Scribd logo
Docente :Ing. Marco Aurelio Porro Chulli
Asignatura :Base de Datos II.
Ciclo : VIII “A”
Integrantes:
• Yenny Isabel Cuello Morón.
• Yanina Bustamante Jibaja.
CURSORES
Es 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.
SINTAXIS
DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR
FOR select_statement
[ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ]
[;]
Transact-SQL Extended Syntax
DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name [ ,...n ] ] ]
[;]
VENTAJAS
Uso reducido
de la red
entre clientes
y servidores:
Mejora en la
seguridad
Mejora de las
posibilidades
de hardware
y software:
Seguridad,
administración
y
mantenimiento
centralizados
para las rutinas
comunes
Reducción en
el coste de
desarrollo y
aumento en
la fiabilidad:
Tipos
Definidos
por el
usuario
Temporale
s
Sistema
Sistema
CREACIÓN DE CURSORES
La sintaxis de declaración de un cursor es la siguiente :
declare cursor prueba _ cursor for
select nombres apellidos, from persona
ahora declaramos las variables con las que vamos a recorrer el cursor
declare @ nombres varchar(25)
declare @ apellidos varchar(25)
Abrimos el cursor para iniciar el recorrido del mismo
open cursor_ prueba
Se mueve al siguiente registro dentro del cursor y los asignamos a las variables antes declaradas
fetch next from cursor_ prueba
into @ , nombres apellidos
Retorna el estatus del último registro recorrido en el cursor cuando es igual a encontró registros
pendientes de recorrer
while @@ _ fetch status = 0
begin
print' : ' El Nombre de la persona es + @ + nombres ' : ' y sus apellidos + apellidos
Se mueve al siguiente registro dentro del cursor
fetch next from cursor_ prueba
into @ , nombres apellidos
end
Cuando concluimos con el recorrido del cursor este debe ser cerrado y luego destruido mediante las
siguientes sentencias
cose cursor_ prueba
Deallocate cursor_ prueba
MODIFICACIÓN DE CURSORES
Sintaxis simplificada
update table_name
set column1 = { expression | select_statement }
[, column2 = { expression | select_statement } ...]
where current of cursor_name
Ejemplo
update titles
set title = "The Executive’s Database Guide"
where current of biz_book
ELIMINACIÓN DE CURSORES
Sintaxis simplificada
delete [ from ] table_name where current of
cursor_name
Ejemplo
delete from titles
where current of biz_book
EJEMPLO
Crear un cursor que permita visualizar los registros de la tablaTbCliente
DECLARE @col1 char(8),@col2Varchar(40),@col3Varchar(40)
DECLARE c_Clientes CURSOR FOR
SELECT codcliente,nombre,direccion FROMTbCliente
--Apertura del cursor
OPEN c_Clientes
FETCH c_Clientes INTO @col1,@col2,@col3
WHILE (@@FETCH_STATUS = 0 )
BEGIN
PRINT @col1 + ' | ' +@col2 + ' | ' + @col3
-- Lectura de la siguiente fila del cursor
FETCH c_Clientes INTO @col1,@col2,@col3
END
-- Cierre del cursor
CLOSE c_Clientes
-- Liberar los recursos
DEALLOCATE c_Clientes
Conclusiones
Usar cursores nos puede simplificar mucho la tarea de programar un
script en otro lenguaje de programación para acabar haciendo lo
mismo que con un cursor programador directamente sobre T-SQL,
que además se ejecutará más rápido.
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.

Más contenido relacionado

PPTX
SQL Cliente Servidor
PPTX
Seleccion de datos
PPTX
Inserción de datos y selección de datos
PDF
Portafolio 1 sql
PPTX
Utilizando DDL SQL oracle Z051 Cap 11
PPTX
Sql Sentencias
PPTX
Seleccion de datos
SQL Cliente Servidor
Seleccion de datos
Inserción de datos y selección de datos
Portafolio 1 sql
Utilizando DDL SQL oracle Z051 Cap 11
Sql Sentencias
Seleccion de datos

La actualidad más candente (18)

DOCX
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
PPTX
SENTENCIAS SQL
PPTX
SENTENCIA SQL
PDF
MANUAL COMPLETO DE SQL
PPTX
Luis cepeda
PPTX
CURSORES EN SQL SERVER
PPTX
Lenguaje transact sql
PPTX
Introduccion ddl
PPTX
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
PPTX
SENTENCIAS SQL
PPTX
CONSULTA SQL ROMERO
PPTX
Fundamentos de SELECT SQL
PDF
Yupa cesar bdii_t7
PPTX
Lenguaje transact sql
PPTX
SENTENCIAS SQL
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
SENTENCIAS SQL
SENTENCIA SQL
MANUAL COMPLETO DE SQL
Luis cepeda
CURSORES EN SQL SERVER
Lenguaje transact sql
Introduccion ddl
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
SENTENCIAS SQL
CONSULTA SQL ROMERO
Fundamentos de SELECT SQL
Yupa cesar bdii_t7
Lenguaje transact sql
SENTENCIAS SQL
Publicidad

Similar a Cursores (20)

PPTX
Cursores
PPTX
5-cursores-18050415fhdhdhdhdh5828 (2).pptx
DOCX
13 Guía_Fundamentos de Base de Datos (1).docx
DOCX
13 Guía_Fundamentos de Base de Datos.docx
PPTX
cursores
DOCX
DOCX
Sesion08 - Cursores (Oracle)
PPTX
SESION-07.pptx
PPT
Semana 5 y 6 cursores implícitos y explícitos
DOC
Sentencias Sql
PPTX
Como utilizar sql en visual basic 6.0
PPTX
Como utilizar sql en visual basic 6.0
PPTX
Como utilizar sql en visual basic 6.0
PPTX
Como utilizar sql en visual basic 6.0
PPTX
Universidad politecnica amazonica
PPTX
PPT
7090112 Clase Transact Sql Server
PPTX
Sql y vb.pptx1
PPTX
Introduccion al sql query
DOCX
Base datos mysql y visual basic
Cursores
5-cursores-18050415fhdhdhdhdh5828 (2).pptx
13 Guía_Fundamentos de Base de Datos (1).docx
13 Guía_Fundamentos de Base de Datos.docx
cursores
Sesion08 - Cursores (Oracle)
SESION-07.pptx
Semana 5 y 6 cursores implícitos y explícitos
Sentencias Sql
Como utilizar sql en visual basic 6.0
Como utilizar sql en visual basic 6.0
Como utilizar sql en visual basic 6.0
Como utilizar sql en visual basic 6.0
Universidad politecnica amazonica
7090112 Clase Transact Sql Server
Sql y vb.pptx1
Introduccion al sql query
Base datos mysql y visual basic
Publicidad

Más de yenny isabel cuello moron (17)

PPTX
Oltp exposicion grupal
PPTX
PPTX
Sistemas de seguridad
PPTX
PPTX
Procedimientos almacenados
PPTX
PPTX
Preparedstatement(grupal)
PPTX
PPTX
Trabajo de java con base de datos(yanina y yenny)
PPTX
Jdbc(desarrollo de software i yanina y yenny)
PPTX
Trabajo de desarrollo de software(java)yanina y yenny
Oltp exposicion grupal
Sistemas de seguridad
Procedimientos almacenados
Preparedstatement(grupal)
Trabajo de java con base de datos(yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)
Trabajo de desarrollo de software(java)yanina y yenny

Último (9)

PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PPTX
sistemas de informacion.................
PPTX
Control de seguridad en los sitios web.pptx
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
Implementación equipo monitor12.08.25.pptx
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
sistemas de informacion.................
Control de seguridad en los sitios web.pptx
Conceptos basicos de Base de Datos y sus propiedades
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Fundamentos de Python - Curso de Python dia 1
Implementación equipo monitor12.08.25.pptx
AutoCAD Herramientas para el futuro, Juan Fandiño

Cursores

  • 1. Docente :Ing. Marco Aurelio Porro Chulli Asignatura :Base de Datos II. Ciclo : VIII “A” Integrantes: • Yenny Isabel Cuello Morón. • Yanina Bustamante Jibaja.
  • 2. CURSORES Es 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.
  • 3. SINTAXIS DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement [ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ] [;] Transact-SQL Extended Syntax DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ] [ FORWARD_ONLY | SCROLL ] [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ] [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ] [TYPE_WARNING ] FOR select_statement [ FOR UPDATE [ OF column_name [ ,...n ] ] ] [;]
  • 4. VENTAJAS Uso reducido de la red entre clientes y servidores: Mejora en la seguridad Mejora de las posibilidades de hardware y software: Seguridad, administración y mantenimiento centralizados para las rutinas comunes Reducción en el coste de desarrollo y aumento en la fiabilidad:
  • 6. CREACIÓN DE CURSORES La sintaxis de declaración de un cursor es la siguiente : declare cursor prueba _ cursor for select nombres apellidos, from persona ahora declaramos las variables con las que vamos a recorrer el cursor declare @ nombres varchar(25) declare @ apellidos varchar(25) Abrimos el cursor para iniciar el recorrido del mismo open cursor_ prueba Se mueve al siguiente registro dentro del cursor y los asignamos a las variables antes declaradas fetch next from cursor_ prueba into @ , nombres apellidos Retorna el estatus del último registro recorrido en el cursor cuando es igual a encontró registros pendientes de recorrer while @@ _ fetch status = 0 begin print' : ' El Nombre de la persona es + @ + nombres ' : ' y sus apellidos + apellidos Se mueve al siguiente registro dentro del cursor fetch next from cursor_ prueba into @ , nombres apellidos end Cuando concluimos con el recorrido del cursor este debe ser cerrado y luego destruido mediante las siguientes sentencias cose cursor_ prueba Deallocate cursor_ prueba
  • 7. MODIFICACIÓN DE CURSORES Sintaxis simplificada update table_name set column1 = { expression | select_statement } [, column2 = { expression | select_statement } ...] where current of cursor_name Ejemplo update titles set title = "The Executive’s Database Guide" where current of biz_book ELIMINACIÓN DE CURSORES Sintaxis simplificada delete [ from ] table_name where current of cursor_name Ejemplo delete from titles where current of biz_book
  • 8. EJEMPLO Crear un cursor que permita visualizar los registros de la tablaTbCliente DECLARE @col1 char(8),@col2Varchar(40),@col3Varchar(40) DECLARE c_Clientes CURSOR FOR SELECT codcliente,nombre,direccion FROMTbCliente --Apertura del cursor OPEN c_Clientes FETCH c_Clientes INTO @col1,@col2,@col3 WHILE (@@FETCH_STATUS = 0 ) BEGIN PRINT @col1 + ' | ' +@col2 + ' | ' + @col3 -- Lectura de la siguiente fila del cursor FETCH c_Clientes INTO @col1,@col2,@col3 END -- Cierre del cursor CLOSE c_Clientes -- Liberar los recursos DEALLOCATE c_Clientes
  • 9. Conclusiones Usar cursores nos puede simplificar mucho la tarea de programar un script en otro lenguaje de programación para acabar haciendo lo mismo que con un cursor programador directamente sobre T-SQL, que además se ejecutará más rápido. 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.