www.diy567.com是我弄的文娱网站,累了,去上面休息一下下
---------------------------------------------------------
-- Author : SQL2005分页存储过程htl258(Tony)
-- Date : 2009-09-22 13:00:50
-- Version: Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
-- Mar 29 2009 10:27:29
-- Copyright (c) 1988-2008 Microsoft Corporation
-- Enterprise Evaluation Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 2)
---------------------------------------------------------
--创建测试表
IF OBJECT_ID('[tb]') IS NOT NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb]([Col] NVARCHAR(10))
--填充数据
INSERT tb
SELECT TOP 26 col1=CHAR(64+ROW_NUMBER()OVER(ORDER BY GETDATE()))
FROM sys.objects
--创建分页的存储过程
IF OBJECT_ID('[sp_page]') IS NOT NULL
DROP PROC [sp_page]
GO
CREATE PROC sp_page
@tablename NVARCHAR(50),--表名
@pagerow INT=0,--每页显示的行数(0为全部)
@pagenow INT=1, --要显示第几页(默认为)
@ordercol VARCHAR(50)=NULL, --排序字段
@order BIT=0 --排序规则0顺序,1倒序
AS
DECLARE @s NVARCHAR(MAX)
SET @s='
WITH t AS
(
SELECT
rownum=ROW_NUMBER()OVER(ORDER BY '+ISNULL(@ordercol,'GETDATE()')+
CASE @order WHEN 1 THEN ' desc' ELSE ' asc' END+'),
*
FROM '+@tablename +'
)
SELECT *
FROM t'
IF @pagerow>0
SET @s=@s+'
WHERE rownum BETWEEN '+LTRIM(@pagerow*(@pagenow-1)+1)+'
AND '+LTRIM(@pagerow*@pagenow)
EXEC(@s)
GO
--返回tb表每页行第页的记录
EXEC sp_page 'tb',6,2
/*
rownum Col
-------------------- ----------
7 G
8 H
9 I
10 J
11 K
12 L
(6 行受影响)
*/
EXEC sp_page 'tb',6,2,'col',2
/*
rownum Col
-------------------- ----------
7 T
8 S
9 R
10 Q
11 P
12 O
(6 行受影响)
*/
--返回所有记录
EXEC sp_page 'tb'
/*
rownum Col
-------------------- ----------
1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
9 I
10 J
11 K
12 L
13 M
14 N
15 O
16 P
17 Q
18 R
19 S
20 T
21 U
22 V
23 W
24 X
25 Y
26 Z
(26 行受影响)
*/
分享到:
相关推荐
sql2005分页存储过程
sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程
2. SQL Server 2005 分页存储过程: SQL Server 2005引入了`OFFSET`和`FETCH NEXT`关键字,使得分页查询更为简洁。下面是一个使用这些关键字的存储过程示例: ```sql CREATE PROCEDURE GetPagedData_2005 @...
### SQL2000与SQL2005中的分页存储过程详解 #### 概述 在数据库查询中,为了提高用户体验以及系统性能,经常需要实现分页功能。本篇文章将详细解读一个针对SQL Server 2000及SQL Server 2005版本的分页存储过程——...
本文将深入探讨如何创建和使用高效的分页存储过程,并针对SQL Server 2005及2010提供一个实用的例子。 首先,理解分页的基本概念。分页通常涉及到两个关键参数:当前页码(PageNumber)和每页记录数(PageSize)。...
此存储过程只适用于SQL Server2005,因为用到了SQL Server2005中的row_number()函数。 写了一个winform的程序来运行此存储过程,有兴趣的朋友可以看一下,并提供您的宝贵意见。 个人认为这个存储过程是比较容易理解...
SQL Server 分页存储过程是一种在数据库中实现高效数据分页查询的方法。在大型数据集的展示中,分页是必不可少的,因为它允许用户逐步浏览数据,而不是一次性加载所有记录,从而提高用户体验并减少服务器负载。以下...
SQL 通用 分页 存储 过程 完整代码
二、SQL Server的分页存储过程 在SQL Server中,可以使用`OFFSET`和`FETCH NEXT`语句实现分页。下面是一个简单的分页存储过程示例: ```sql CREATE PROCEDURE [dbo].[usp_GetPagedData] @TableName NVARCHAR(128)...
通用sql分页存储过程,提供12参数可供选择。其中,提供两种分页方案被选择和相关排序方式,支持自定义查询、自定义排序等
很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术
使用游标实现的sql2000可用分页存储过程,不要增加排序字段
通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.
数据库存储过程,可直接使用,可直接传参数,可根据自己额需要进行修改~简单、快捷
一个典型的分页存储过程可能包括以下参数:开始行号、每页显示的行数、排序字段及排序方式(升序或降序)。例如,创建一个名为`usp_GetPagedSortedData`的存储过程: ```sql CREATE PROCEDURE usp_...
sql分页存储过程 CREATE PROCEDURE [dbo].[dbTab_PagerHelper] @TableName VARCHAR(50), --表名 @FieldNames VARCHAR(1000), --显示列名,如果是全部字段则为* @WhereString VARCHAR(256) = NULL, --查询条件 ...