Homa Page di Daniele Franceschini
Paginazione dei risultati
Al fine di gestire nel modo migliore grandi quantità di dati, sopratutto nelle pagine web, è necessario suddividere queste informazioni in più pagine in modo da rendere la navigazione veloce e chiara. Con sql server 2005 è possibile gestire la paginazione dei risultati direttamente dal transact-sql. Qui sotto viene riportato un piccola stored_procedure di esempio che mostra come sia realizzabile la paginazione dei dati. L'esempio è applicabile a partire dalla versione di sql server 2005, nella versione 2000 l'esempio riportato non funziona. CREATE PROCEDURE [dbo].[usp_getProducts](@PageNumber int, @PageSize int, @filter int) as ---- Numero di pagina --DECLARE @PageNumber int; ---- Dimensione di pagina --DECLARE @PageSize int; --SET @PageNumber = 1; --SET @PageSize = 10; WITH PageRows(RowNumber, campo1, campo2, ecc) AS ( SELECT TOP(@PageNumber * @PageSize) RowNumber = ROW_NUMBER() OVER (order by campo1), campo1, campo2 FROM tabella where categoria = @filter order by campo1 ) SELECT * FROM PageRows WHERE RowNumber > ((@PageNumber - 1) * @PageSize)



