Recuperar un número determinado de registros

16/02/2006 - 17:14 por Keyhelp | Informe spam
Hola a todos:

Espero que alguien sepa como hacerlo porque a mi no me da la imaginación.
Tengo una sentencia select normal y corriente que recupera unos 100
registros, pero quiero ir recuperándolo de 10 en 10 en vez de todos a la
vez.

SELECT TOP 10 * from MyTable;

Me devuelve los 10 primeros.. pero del 11 al 20 no sé como recuperarlo.

¿Existe alguna instrucción parecida como en Oracle que ponías un intervalo?

Gracias por adelantado.


Francisco López
Keyhelp, S.L.
Departamento de desarrollo
 

Leer las respuestas

#1 Noldis Chumacero
16/02/2006 - 17:27 | Informe spam
Francisco,

Me parece que lo que tienes que utilizar deberían ser Cursores, y realizar
el tipo de cálculo que quieres.

Este es el ejemplo que viene con SQL
READ_ONLY
FOR SELECT au_fname FROM pubs.dbo.authors

DECLARE @name varchar(40)
OPEN test_cursor

FETCH NEXT FROM test_cursor INTO @name
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
DECLARE @message varchar(100)
SELECT @message = 'my name is: ' + @name
PRINT @message
END
FETCH NEXT FROM test_cursor INTO @name
END

CLOSE test_cursor
DEALLOCATE test_cursor



Ing. Noldis Chumacero Chávez
Departamento de Sistemas
AeroSur S.A.
Santa Cruz de la Sierra, Bolivia
Telf. 3364446(236) 77074919
"Keyhelp" (dot)net> escribió en el mensaje
news:OiT$

Hola a todos:

Espero que alguien sepa como hacerlo porque a mi no me da la imaginación.
Tengo una sentencia select normal y corriente que recupera unos 100
registros, pero quiero ir recuperándolo de 10 en 10 en vez de todos a la
vez.

SELECT TOP 10 * from MyTable;

Me devuelve los 10 primeros.. pero del 11 al 20 no sé como
recuperarlo.

¿Existe alguna instrucción parecida como en Oracle que ponías un
intervalo?

Gracias por adelantado.


Francisco López
Keyhelp, S.L.
Departamento de desarrollo



Preguntas similares