Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/03/2003, 10:09
davids
 
Fecha de Ingreso: enero-2002
Mensajes: 64
Antigüedad: 22 años, 3 meses
Puntos: 0
rowid y paginación

Hola a todos,

He trabajado en oracle y ahora he pasado a sqlServer y tengo un problema que no sé como solucionar:

En oracle existe la propiedad rowid que es un identificativo numerico que se incrementa de 1 en 1 en cada registro de una consulta.
Es decir, es como una numeración del resultado de un select, de forma que si hago una consulta:

select nombre, apellidos from alumnos order by apellidos asc

el resultado sería:

rowid nombre apellidos
----- ------ ---------
1 pepe alvarez
2 juan garcia
3 antonio marquez
4 david perez
5 pepe sanchez
.
.
.



como veis se 'inventa' un nuevo campo al que llama rowid y lo rellena con un numero que se va incrementando.

Ademas, aunque este campo se genera en la consulta, puede formar parte de ella en la clausula where, por ejemplo:

select nombre, apellidos
from alumnos
where rowid >= 5 and rowdid <=10
order by apellidos asc



Lo que nos da como resultado los registros que van del 5 al 10. Yo usaba esto para la paginación.

Ahora lo que quiero es paginar registro a registro, es decir quiero tener una página asp con todos los
datos de un alumno y tener dos botones: anterior y siguiente. El criterio para saber cual es el
registro anterior o siguiente puede venir dado por el orden de distintos campos, a veces será el apellido, otras veces la calificación...

No se me ocurre como puedo hacer esto sin la propiedad rowid que sqlServer no tiene o al menos no se llama igual.

¿Sabe alguien si sql server tiene algo parecido o si no lo tiene como puedo plantear un select que lo genere?

Saludos y gracias