Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2006, 03:10
Aibarra.net
 
Fecha de Ingreso: septiembre-2004
Mensajes: 179
Antigüedad: 19 años, 7 meses
Puntos: 0
Paginación desde procedimiento almacenado

Hola buenas,

estoy dándole vueltas a una paginación dentro de procedimientos almacenados y después de alguna búsqueda encontré este método para SQL Server 2000 (que es con lo que trabajo). La idea es sencilla: hacer la consulta, rellenar una tabla temporal con los resultados añadiendo un id y luego obtener el rango de registros deseados.

Cita:
/* Ejecutar una cosulta y añadir un ID de referencia a cada fila usando un campo auto-incremental field */
SELECT *, RowNum = Identity (int, 1, 1)
INTO #t
FROM Clientes

/* Seleccionar el subconjunto de filas que queremos obtener */
SELECT *
FROM #t
WHERE RowNum BETWEEN 20 AND 30

DROP TABLE #t
Esto, en teoría y en el analizador de consultas funciona a la perfección, pero cuando intento trasladarlo a mi página (ASP) me dice que "La operación no está permitida si el objeto está cerrado.". La consulta principal que utilizo es correcta y, por separado, da sus resultados correctamente. Parece que es el paso por la tabla temporal y la posterior consulta lo que causa el problema.

En un primer momento me comentaron que no podía montar la consulta principal en una cadena y hacer un exec() de esta, pero eliminado eso sigue sin funcionar.

Conoce alguien alguna limitación o problema en usar este tipo de paginación? cualquier orientación será muy bienvenida :)
__________________
Estoy en www.aibarra.net

Camino para preguntar: manual -> Google -> FAQs y buscador del foro -> Nuevo Tema.
Tan difícil es escribir correctamente? Es más fácil leerlo. Pónselo fácil al que quiera ayudarte.