Mind map
CURSORES
Map content
CURSORES
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.
- 1.- 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. Un ejemplo de declaración de cursor es el siguiente:
- DECLARE ProdInfo CURSOR FOR SELECT Name FROM Production.Product
- Donde ProdInfo representará al nombre del cursor y la sentencia “SELECT ProductNumber,Name FROM Production.Product” será el conjunto de datos del mismo.
- DECLARE ProdInfo CURSOR FOR SELECT Name FROM Production.Product
- 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. Un ejemplo de declaración de cursor es el siguiente:
- Como comentamos previamente, es posible en este paso definir algunas características del comportamiento del cursor, por ejemplo la sentencia:
- DECLARE ProdInfo CURSOR READ_ONLY FOR SELECT Name FROM Production.Product
- 2.- RECORRIDO DEL CURSOR Y ACCESO A LOS DATOS
- Este paso constará de recorrer los resultados del cursor, la instrucción FETCH permitirá efectuar dicha operación.
- FETCH NEXT FROM ProdInfo INTO @Description
- Este paso constará de recorrer los resultados del cursor, la instrucción FETCH permitirá efectuar dicha operación.
- 3.- CIERRE DEL CURSOR
- 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 y la sintaxis puede verse a continuación:
- CLOSE ProdInfo
- 4.- DESALOJO DEL CURSOR
- Este paso eliminará la referencia al cursor definido previamente, por lo que ya no será posible realizar una reapertura del mismo, en este caso la sintaxis será:
- DEALLOCATE ProdInfo
- 5.- EJEMPLO DE CURSOR
- A continuación juntaremos todos los pasos descriptos previamente y crearemos el ejemplo más simple de un cursor el cual recorrerá la tabla Production.ProductDescription de la base de datos AdventureWorks y mostrará por pantalla el valor del registro Description luego que el mismo ha sido copiado a la variable @Description.
- DECLARE @Description AS nvarchar(400)
- DECLARE @Description AS nvarchar(400) DECLARE ProdInfo CURSOR FOR SELECT [Description] FROM bvProduction.ProductD escription OPEN ProdInfo FETCH NEXT FROM ProdInfo INTO @Description WHILE @@fetch_status = 0 BEGIN PRINT @Description FETCH NEXT FROM ProdInfo INTO @Description END CLOSE ProdInfo DEALLOCATE ProdInfo
- 1.- DECLARACIÓN
Information
- Description
- Mind Map on CURSORES, created by marishitaquispe on 24/11/2015.
- Created by
- marishitaquispe
- Views
- 0
- Rating