Hola
Alguien de ustedes ha escrito en un Stored
Procedure la funcionalidad de la Paginación ?
He revisado algunos articulos en la Red en los
siguientes links:
Sin embargo hacen uso de la creacion de una tabla
Temporal, y no se si es lo mas adecuado para realizar este proceso.
He consultado la pagina :
en la que se realiza una paginación
para sql server y es en esta en la que me he basado para generar mi consulta
sql.
Actualmente implemento una consulta de este tipo
para realizar la paginacion:
SELECT ClaEmp
, FolioAlumno , NomAlumno , Nacionalidad ,
BajaLogicaSiNo FROM (SELECT TOP 45 ClaEmp , FolioAlumno , NomAlumno
, Nacionalidad , BajaLogicaSiNo FROM ( SELECT TOP 45 ClaEmp , FolioAlumno , NomAlumno ,
Nacionalidad , BajaLogicaSiNo FROM
viLstAlumGenActivos WHERE (ClaEmp ='1') And (NomAlumno Like '%') And
(BajaLogicaSiNo ='0') ORDER BY NomAlumno ASC ) viLstAlumGenActivos ORDER
BY NomAlumno DESC )
viLstAlumGenActivos ORDER BY NomAlumno
ASC
Sin embargo el Tamaño de Pagina que establezco en
el TOP, es un valor que debe ser proporcionado como parametro en el SP, entonces
mi consulta cambia ahora de esta forma:
DECLARE @PageSize int
SET @PageSize
= 15
SELECT ClaEmp
, FolioAlumno , NomAlumno , Nacionalidad ,
BajaLogicaSiNo FROM (SELECT TOP @PageSize ClaEmp , FolioAlumno
, NomAlumno , Nacionalidad , BajaLogicaSiNo FROM ( SELECT TOP @PageSize ClaEmp , FolioAlumno ,
NomAlumno , Nacionalidad , BajaLogicaSiNo FROM viLstAlumGenActivos WHERE (ClaEmp ='1') And
(NomAlumno Like '%') And (BajaLogicaSiNo ='0') ORDER BY NomAlumno ASC )
viLstAlumGenActivos ORDER BY NomAlumno DESC ) viLstAlumGenActivos ORDER BY NomAlumno ASC
Pero al correr el script me genera un error y es por el @PageSize, he
estado buscando otras alternativas para solucionar esto y aun no consigo tener
exito, alguien de ustedes me pudiera sugerir algún tip para lograr esta
funcionalidad u otra forma de lograr la paginación ?
Saludos!!
Thanks in advance.
JPablo Fuentes.