Manejo de Cursores

Estoy realizando un sistema de activo fijo donde
necesito realizar un procedimiento almacenado para hacer la
depreciación de cada activo fijo y para ello me aconsejaron usar cursores.
Me podrías dar algunos ejemplos del tema ya que no tengo la mínima idea de
como realizarlos.

1 respuesta

Respuesta
1
Ferdyvac los cursores son utilices cuando quieres procesar información registro por registro y te resulta "imposible" o demasiado complicado hacerlo en sentencias SQL.
Para Crear Un Cursor solo debes usar el comandos:
Declare Nombre_Cursor CURSOR Local For
Sentencia_Select
Open Nombre_Cursor
Donde:
Sentencia_Select es el Select que contiene el Query con el cual se llenara el Cursor, Ojo que Cada Campo de este Cursor debe ser utilizado.
Luego de Usar un Cursor y no utilizarlo debes usar:
Close Nombre_Cursor
Deallocate Nombre_Cursor
Utiliza la Sentencia Fetch para obetener cada Registro del Cursor:
Fetch Next From Nombre_Cursor
Into @Var1, @Var2, @Var3, ..., @Varn
Donde: @Var1, @Var2, @Var3, ..., @Varn son las variables declaradas para almacenar la información de cada uno de los campos (Columnas) de tu cursor.
Ejemplo:
Declare @IntId Int
Declare @VchNombre Varchar(50)
Declare Cur_Personas CURSOR Local For
Select IntIdPersona, VchNomPersona From m_Persona
Where DtmFec_Ing > '20020101'
Open Cur_Personas
Fetch Next From Cur_Personas
Into @IntId, @VchNombre
While (@@Fetch_Status = 0)
Begin
--Código Que deseas hacer
--Con cada Registro
Print 'ID: ' + Convert(Varchar, @IntId)
Print 'Nombre: ' + Convert(Varchar, @VchNombre)
Fetch Next From Cur_Personas
Into @IntId, @VchNombre
End
Close Cur_Personas
Deallocate Cur_Personas
GO

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas