Código de SQL - Cursores en SQL Server

sin imagen de perfil

Cursores en SQL Servergráfica de visualizaciones


SQL

Publicado el 28 de Agosto del 2005 por Matías Thayer (2 códigos)
91.798 visualizaciones desde el 28 de Agosto del 2005
Los cursores son una herramienta de SQL que nos permite recorrer el resultado de una consulta SQL y realizar operaciones en cada paso de ésta.

Versión 1
estrellaestrellaestrellaestrellaestrella(8)

Publicado el 28 de Agosto del 2005gráfica de visualizaciones de la versión: Versión 1
91.799 visualizaciones desde el 28 de Agosto del 2005
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Cursores en SQL Server


Descripción: Los cursores son una herramienta de SQL que nos permite recorrer el resultado de una consulta SQL y realizar operaciones en cada paso de ésta. Es así como nos ayuda a realizar operaciones que de otro modo serían más complejas o irrealizables. A continuación coloco el código de un cursor muy simple para el Analizador de Consultas de SQl Server.


/* Este cursor deja las contraseñas iguales al nombre de usuario.
La tabla Cliente tiene estos tres campos: CliCod, CliUser, CliPass */


-- declaramos las variables
declare @cod as int
declare @user as varchar(50)
declare @pass as varchar(50)
-- declaramos un cursor llamado "CURSORITO".
El select debe contener sólo los campos a utilizar.

declare CURSORITO cursor for
select CliCod, CliUser, CliPass from Cliente
open CURSORITO
-- Avanzamos un registro y cargamos en las variables los valores encontrados en el primer registro
fetch next from CURSORITO
into @cod, @user, @pass
    while @@fetch_status = 0
        begin
        update Cliente set CliPass= @user where CliCod=@cod
        -- Avanzamos otro registro
        fetch next from CURSORITO
        into @cod, @user, @pass
        end
-- cerramos el cursor
close CURSORITO
deallocate CURSORITO

1
 



Comentarios sobre la versión: Versión 1 (8)

18 de Septiembre del 2006
estrellaestrellaestrellaestrellaestrella
Hola, quisiera saber como haga para que el id de un cliente se me genere automaticamente en sql server, por ejemplo


Nombre


Pablo Perez

id: PP00001



que el procedimiento me genere el id, esta con catenado con letras el nombre y el apellido
Responder
17 de Febrero del 2008
estrellaestrellaestrellaestrellaestrella
Este ejercicio me parece muy bueno por lo sencillo de realizar y entender. Estoy empezando a conocer estas herramientas de MS, me gsutaría contar con un manaul con ejemplos muy sencillos , que toque varios temas.
Responder
3 de Marzo del 2009
estrellaestrellaestrellaestrellaestrella
Ha realizado una valoración positiva de este curso.
Responder
Pablo
18 de Enero del 2016
estrellaestrellaestrellaestrellaestrella
Sencillo y funcional
Responder
Camilo
18 de Enero del 2016
estrellaestrellaestrellaestrellaestrella
10 años después de haber realizado la publicación, sigue ayudando a las nuevas generaciones informáticas... muy buena explicación!
Responder
Imágen de perfil
1 de Abril del 2016
estrellaestrellaestrellaestrellaestrella
Excelente Explicación y muy fácil de entender.
Gracias..
Responder
JC
11 de Agosto del 2017
estrellaestrellaestrellaestrellaestrella
Si no fuera por camilo, ni idea de que el post fuese de 2005
12 años y aun ayuda!
Responder
ML
15 de Febrero del 2018
estrellaestrellaestrellaestrellaestrella
BUEN EJEMPLO GRACIAS!!!
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1218