Emular un Cursor SQL con un Bucle
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. Creamos dos variables para poder iterar en el bucle SET @Rows=0 Insertamos los datos en la tabla temporal @anuncios INSERT INTO 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 SET @i=@i + 1
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)
)
DECLARE
@Rows numeric,
@i numeric(18,0)
SET @i=1
@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
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!
END