在示例的帮助下如何在sql server 2005中进行sql server分页 [英] how to do sql server paging in sql server 2005 with help of example

查看:77
本文介绍了在示例的帮助下如何在sql server 2005中进行sql server分页的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在sql server 2005中使用示例

how to do sql server paging in sql server 2005 with help of example

推荐答案

来执行sql server分页



请参阅以下链接



1. SQL Server 2005分页结果 [ ^ ]



2. SQL SERVER - 2005 T-SQL分页查询技术比较 [< a href =http://blog.sqlauthority.com/2007/06/11/sql-server-2005-t-sql-paging-query-technique-comparison-over-and-row_number-cte-vs-derived- table /target =_ blanktitle =New Window> ^ ]



3. Paging在SQL Server 2005中 [ ^ ]



4. SQL Server 2005分页示例 [ ^ ]



检查这个 [ ^ ]文章。这将帮助您解决问题





创建如下的Sp



Hi,

Refer below link

1. SQL Server 2005 Paging Results[^]

2. SQL SERVER – 2005 T-SQL Paging Query Technique Comparison [^]

3. Paging in SQL Server 2005 [^]

4. SQL Server 2005 Paging Sample [^]

Check this[^] article. This will help you for solving your problem


Create Sp like below

CREATE PROCEDURE [dbo].[Paging]
(
  @Page int, -- pass page number
  @PageSize int -- pass number of records for page
)
AS
SET NOCOUNT ON;

SELECT TOP(@PageSize) * FROM
(
 SELECT RowID = ROW_NUMBER() OVER (ORDER BY Orderbycolumn ), col1,col2,col3 , TotalRows=Count(*) OVER()
 FROM tbsalesheader
)
A WHERE A.RowID > ((@Page-1)*@PageSize)
SET NOCOUNT OFF


CREATE PROC GetCustomersByPage

@PageSize int, @PageNumber int 

AS 

Declare @RowStart int 
Declare @RowEnd int 

if @PageNumber > 0 
Begin 

SET @PageNumber = @PageNumber -1 

SET @RowStart = @PageSize * @PageNumber + 1; 
SET @RowEnd = @RowStart + @PageSize - 1 ; 

With Cust AS 
     ( SELECT CustomerID, CompanyName, 
       ROW_NUMBER() OVER (order by CompanyName) as RowNumber 
       FROM Customers ) 

select * 
from Cust 
Where RowNumber >= @RowStart and RowNumber <= @RowEnd end

END


/ * SQL SERVER - 2005 T-SQL分页查询技术比较(OVER和ROW_NUMBER()) - CTE与派生表:* /
/*SQL SERVER – 2005 T-SQL Paging Query Technique Comparison (OVER and ROW_NUMBER()) – CTE vs. Derived Table:*/
--SQL 2005 Paging Method Using Derived Table:
USE AdventureWorks
GO
DECLARE @StartRow INT
DECLARE @EndRow INT
SET @StartRow = 120
SET @EndRow = 140
SELECT FirstName, LastName, EmailAddress
FROM (
SELECT PC.FirstName, PC.LastName, PC.EmailAddress,
ROW_NUMBER() OVER(
ORDER BY PC.FirstName, PC.LastName,PC.ContactID) AS RowNumber
FROM Person.Contact PC) PersonContact
WHERE RowNumber > @StartRow
AND RowNumber < @EndRow
ORDER BY FirstName, LastName, EmailAddress
GO
--SQL 2005 Paging Method Using CTE:
USE AdventureWorks
GO
DECLARE @StartRow INT
DECLARE @EndRow INT
SET @StartRow = 120;
SET @EndRow = 140;
WITH PersonContact AS
(
SELECT PC.FirstName, PC.LastName, PC.EmailAddress,
ROW_NUMBER() OVER(
ORDER BY PC.FirstName, PC.LastName,PC.ContactID) AS RowNumber
FROM Person.Contact PC)
SELECT FirstName, LastName, EmailAddress
FROM PersonContact
WHERE RowNumber > @StartRow
AND RowNumber < @EndRow
ORDER BY FirstName, LastName, EmailAddress
GO


这篇关于在示例的帮助下如何在sql server 2005中进行sql server分页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆