Hola a todos, vamos a explicar los cursores de SQL , asi podras entender que es lo que hace, y te hara recordar como se crean … es te es el ejemplo.
1 2 3 4 5 6 7 8 9 10 11 |
declare @usuario varchar(50) Declare miCursor cursor for select usuario from tbusuario open miCursor fetch next from miCursor into @usuario while @@fetch_status = 0 Begin print @usuario fetch next from miCursor into @Usuario end close miCursor Deallocate miCursor |
Empezemos con la explicacion:
lo primero que hacemos es declarar el cursor con la condicion que en su traduccion quedaria asi.
Declaro micursor cursor para seleccionar usuario de tbusuarios.
1 |
Declare miCursor cursor for select usuario from tbusuario |
ahora abrimos el cursor
1 |
open miCursor |
Muevete por micursor dentro de @usuario , “@usuario es la variable del campo en el orden de la select”
1 |
fetch next from miCursor into @usuario |
mientras el @@fetch_status “indica el estado de micurso” es 0 “Falso”
1 |
while @@fetch_status = 0 |
Empiezas
1 |
Begin |
y Haces esto “Escribe el campo @usuario”
1 |
print @usuario |
Muy importante que dentro del Begin se mueva a el siguiente.
Asi el @@fetch_status cuando cambie saldra.”
1 |
fetch next from miCursor into @Usuario |
Acabas
1 |
end |
Cierro micursor
1 |
close miCursor |
y lo quito de la memoria.
1 |
Deallocate miCursor |
Espero que con esta breve explicacion os haga recordar la estructura del cursor.
Un saludo .”:)”
Parece que asi explicado parece que tiene un poco mas de sentido no crees?.