Skinnysite.net

... un modo di esprimersi.

Font Size

Cpanel

Homa Page di Daniele Franceschini

Paginazione dei risultati

Valutazione attuale:  / 0
ScarsoOttimo 

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)

Sei qui: Home Code Snippets Transact-SQL Paginazione dei risultati