DECLARE @miavar1 varchar(40), @miavar2 varchar(20)


DECLARE miocursore CURSOR FOR
SELECT campo1, campo2 FROM tabella
-- eventuali join, clausole where e ordinamento

OPEN miocursore

FETCH NEXT FROM miocursore INTO @miavar1, @miavar1

WHILE @@FETCH_STATUS = 0
BEGIN
PRINT "campo1= " + @miavar1 + ", campo2= " + @miavar2
FETCH NEXT FROM miocursore INTO @miavar1, @miavar2
END

CLOSE miocursore
DEALLOCATE miocursore
GO


Questo è un esempio,
Altre considerazioni personali sui cursori in SQL Server