Inicio > Sql Server > Emular un Cursor SQL con un Bucle
Enlaces patrocinados
Resumen del truco
  • Sql Server
    Gracias a este truco de SQL Server 2000 podrás emular el funcionamineto de un cursor con un bucle.
  • Categoria: Sql Server
  • Publicado el jueves, 18 de enero de 2007
  • 9.159 lecturas
  • 0 comentarios

Emular un Cursor SQL con un Bucle

Sql Server
Gracias a este truco de SQL Server 2000 podrás emular el funcionamineto de un cursor con un bucle.

Para ello crearemos una tabla temporal donde le pondremos los elementos que queremos iterar en el bucle para poderlos tratar.



DECLARE
 @Anuncios
 TABLE
 (
 pk_id numeric(18, 0) NOT NULL IDENTITY (1, 1),
 Idtruco numeric(18,0),
 IdUsuario numeric(18,0),
 Alias nvarchar(255),
 usuario nvarchar(255)
 )


Creamos dos variables para poder iterar en el bucle
DECLARE
@Rows numeric,
@i numeric(18,0)


SET @Rows=0
SET @i=1


Insertamos los datos en la tabla temporal @anuncios


INSERT INTO
 @Anuncios
 (
  Idtruco,
  IdUsuario,
  Alias,
  Usuario
 )
 SELECT
  a.ARTID,
  a.ARTUSR,
  p.Alias,
  p.LonUsr
 FROM
  TABLA_ANUNCIOS a
 INNER JOIN
  TABLA_USUARIOS p
 ON a.ARTUSR=p.LONID


Asignamos a la variable contadora de filas totales el total de la tabla @anuncios


Set @Rows=(SELECT TOP 1 PK_ID FROM @Anuncios order BY PK_ID DESC)


Iteramos con el while. De esta manera podemos emular el funcionamiento de un cursor sin ser un cursor, pudiéndolo ejecutar las veces que queramos a la vez.


WHILE @i <;= @Rows
BEGIN
 Declare
 @Idtruco numeric(18,0),
 @IdUsuario numeric(18,0),
 @Alias nvarchar(255),
 @Usuario nvarchar(255)
 
 SELECT
  @Idtruco=Idtruco,
  @IdUsuario=IdUsuario,
  @Alias=Alias,
  @Usuario=Usuario
 FROM
  @Anuncios
 WHERE
  pk_id=@i



 Realizar todas las acciones!


 SET @i=@i + 1
END


Ayuda a mistrucos.net
Si el artículo te ha servido, y crees que es interesante, ayúdanos compartiéndolo en las redes sociales:
Comunidad de expertos
¿Quieres formar parte de la comunidad de expertos de mistrucos.net?
Regístrate y llena tus conocimientos informáticos.
Publicar un comentario
Nombre:
Mail:
Comentario:
Código de seguridad:
Captcha
Inserta el código de seguridad

Los trucos más leídos de Sql Server