1 / 9

Bases de Datos II CURSORES

Bases de Datos II CURSORES. Elaborado por: Guillermo Baquerizo I Término 2012. Definición. En ciencias de la computación y la tecnología, un cursor de base de datos es una estructura de control que permite recorrer los registros de una base de datos.

amy
Download Presentation

Bases de Datos II CURSORES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bases de Datos IICURSORES Elaborado por: Guillermo Baquerizo I Término 2012

  2. Definición • En ciencias de la computación y la tecnología, un cursor de base de datos es una estructura de control que permite recorrer los registros de una base de datos. • Los cursores facilitan el procesamiento posterior en relación con el recorrido, la recuperación, la adición y la eliminación de los registros de la base de datos. • Permiten hacer reportes en el propio ambiente de la base de datos, sin tener un aplicativo adicional.

  3. ¿Cómo se crea y utiliza? • Declare el cursor, utilice la cláusula DECLARE. • Abra el cursor, utilice la cláusula OPEN. • Lea los datos del cursor, uno por uno, utilice la cláusula FETCH NEXT FROM ... INTO. • Cierre el cursor, utilice la cláusula CLOSE • Libere el cursor, utilice la cláusula DEALLOCATE.

  4. Sintaxis general -- Declaración del cursor DECLARE <nombre_cursor> CURSOR FOR <sentencia_sql> -- Apertura del cursor OPEN <nombre_cursor> -- Lectura de la primera fila del cursor FETCH NEXT FROM <nombre_cursor> INTO <lista_variables> WHILE (@@FETCH_STATUS = 0) BEGIN -- Lectura de la siguiente fila de un cursor FETCH NEXT FROM <nombre_cursor> INTO <lista_variables> ... END -- Fin del ciclo WHILE -- Cierre del cursor CLOSE <nombre_cursor> -- Liberación de los recursos del cursor DEALLOCATE <nombre_cursor>

  5. Ejemplo (1/2) -- Declaracion de variables para el cursor DECLARE@Idint, @Nombrevarchar(255), @Apellido1varchar(255), @Apellido2varchar(255), @Cedulachar(10), @FNacimientodatetime -- Declaración del cursor DECLAREcClientesCURSORFOR SELECTId, Nombre, Apellido1, Apellido2, Cedula, FNacimiento FROM CLIENTES -- Apertura del cursor OPENcClientes -- Lectura de la primera fila del cursor FETCH NEXT FROMcClientesINTO@id, @Nombre, @Apellido1, @Apellido2, @Cedula, @FNacimiento

  6. Ejemplo (2/2) WHILE (@@FETCH_STATUS = 0 ) BEGIN PRINT@Nombre + ' ' + @Apellido1 + ' ' + @Apellido2 -- Lectura de la siguiente fila del cursor FETCH NEXT FROMcClientesINTO@id, @Nombre, @Apellido1, @Apellido2, @Cedula, @FNacimiento END -- Cierre del cursor CLOSEcClientes -- Liberación de los recursos DEALLOCATEcClientes

  7. La función FETCH_STATUS • Cuando trabajamos con cursores, la función @@FETCH_STATUS nos indica el estado de la última instrucción FETCH emitida, los valores posibles son:

  8. Ejercicios • Considere la base de datos Pubs: • Muestre los libros que pertenecen a los autores que son del estado de Utah. • El reporte debe mostrarse así: • Reporte de autores de UTAH • Libros del autor: XXXXXXXX • YYYYYYY • YYYYYYY • Libros del autor: WWWWW • TTTTTTT • TTTTTTT

  9. Ejercicios • Considere la base de datos Northwind: • Muestre un reporte con todos los empleados que han provocado que lleguen atrasadas las órdenes. Suponga que se les va a multar con $1 por cada día de atraso, de cada orden que tiene esta característica. Su reporte en pantalla debe mostrar el filtro por empleado . • El reporte debe mostrarse así: • Reporte de Empleados con órdenes atrasadas: • Órdenes del empleado: AAAAAAAA • BBBBBBBB • BBBBBBBB

More Related