`
senton
  • 浏览: 206662 次
  • 性别: Icon_minigender_1
  • 来自: 紫禁城
社区版块
存档分类
最新评论

一个sql server2005分页的存储过程

阅读更多

  --sql server 分页语句

--首先创建一个测试用的表,并且插入一些测试数据

if exists (select * from sysobjects where name='test')
    drop table test
go
create table test
(
id int primary key identity(1,1),
name varchar(20)
)
go
 
insert into test values('aaa')
insert into test values('bbb')
insert into test values('vvv')
insert into test values('fff')
insert into test values('eee')
insert into test values('ggg')
insert into test values('ddd')
insert into test values('sss')
insert into test values('ttt')
insert into test values('555')
insert into test values('uyuu')
insert into test values('vvjhgjv')
insert into test values('ffghfgdf')
insert into test values('fsdfsdf')
insert into test values('rewrew')
insert into test values('fsdfsd')
insert into test values('gfdgf')
insert into test values('ttgsdsdbt')
insert into test values('fdsfdsaf')
insert into test values('ghfdsfs')
insert into test values('vvvhgfhg')
insert into test values('fdsfsgffff')
insert into test values('eeehgfhjgf')
insert into test values('ggghgjgf')
insert into test values('dddfdsafdd')
insert into test values('sssfdsfds')
insert into test values('jhkjkjttt')
 
select * from test
执行结果:
id name
1   aaa
2   bbb
3   vvv
4   fff
5   eee
6   ggg
7   ddd
8   sss
9   ttt
10 555
11 uyuu
12 vvjhgjv
13 ffghfgdf
14 fsdfsdf
15 rewrew
16 fsdfsd
17 gfdgf
18 ttgsdsdbt
19 fdsfdsaf
20 ghfdsfs
21 vvvhgfhg
22 fdsfsgffff
23 eeehgfhjgf
24 ggghgjgf
25 dddfdsafdd
26 sssfdsfds
27 jhkjkjttt
--创建一个简单的存储过程来实现分页:
if exists (select * from sysobjects where name='proc_page')
    drop proc proc_page
go
create proc proc_page
    @num int=10,--此存储过程接收两个参数,第一个参数为每页显示多少条记录,默认为10 条。
    @page int=1--第二个参数为显示第几页,默认为第1 页。
    as
    if((select count(*) from test)-(@page-1)*(@num)<=0)--判断如果超出总行数的范围则提示用户
       print '已超出最大页数!请缩小要显示页号或者减少每页要显示的行数!'
    else
       select top (@num) * from (select top ((select count(*) from test)-((@page-1)*(@num))) * from test order by id desc) as a order by id asc
go
 
调用不带参数的,默认显示第一页,每页10条。
exec proc_page
go
执行结果:
id name
1   aaa
2   bbb
3   vvv
4   fff
5   eee
6   ggg
7   ddd
8   sss
9   ttt
10 555
 
带一个参数的,每页的行数为给定的默认值10条,显示第三页。
exec proc_page @page=3
go
执行结果:
id   name
21 vvvhgfhg
22 fdsfsgffff
23 eeehgfhjgf
24 ggghgjgf
25 dddfdsafdd
26 sssfdsfds
27 jhkjkjttt
 
测试超出范围的,一共27条,这里想要显示的是3140条记录,所以提示错误了。
exec proc_page @page=4
go
执行结果:
已超出最大页数!请缩小要显示页号或者减少每页要显示的行数!
 
带两个参数的,每页5条,显示第3
exec proc_page 5,3
go
执行结果:
id name
11    uyuu
12    vvjhgjv
13    ffghfgdf
14    fsdfsdf
15    rewrew
分享到:
评论

相关推荐

    sql Server 通用分页存储过程

    sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程

    Sql Server 通用分页存储过程(适用与 BootStrap Table)

    通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.

    Sql Server 通用分页存储过程(BootStrap Table)

    Sql Server BootStrap Table 分页 通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.

    sqlserver+group by分组查询分页存储过程

    根据给定的SQL Server存储过程代码片段,我们可以深入解析与SQL Server中的`GROUP BY`分组查询、存储过程以及分页技术相关的知识点。 ### SQL Server中的`GROUP BY`分组查询 `GROUP BY`子句在SQL查询语言中用于将...

    sqlserver 分页存储过程

    SQL Server 分页存储过程是一种在数据库中实现高效数据分页查询的方法。在大型数据集的展示中,分页是必不可少的,因为它允许用户逐步浏览数据,而不是一次性加载所有记录,从而提高用户体验并减少服务器负载。以下...

    sql server2005 分页存储过程

    ### SQL Server 2005 分页存储过程详解 #### 概述 本文将详细介绍一个在 SQL Server 2005 中实现分页功能的存储过程。该存储过程名为 `utilPAGE`,它通过接收一系列参数来实现对指定数据源(表或存储过程等)的数据...

    SqlServer 分页存储过程以及代码调用

    二、SQL Server的分页存储过程 在SQL Server中,可以使用`OFFSET`和`FETCH NEXT`语句实现分页。下面是一个简单的分页存储过程示例: ```sql CREATE PROCEDURE [dbo].[usp_GetPagedData] @TableName NVARCHAR(128)...

    SQL Server调用分页存储过程

    sql server数据库中分页的存储过程,参数中比较灵活,如果首页传1,非首页传其他。

    SQLServer2008分页存储过程和java调用

    PagingOperation数据库SQLServer2008分页存储过程(和java调用存储过程源代码): 调用存储过程进行分页查询速度快,尤其是数据量超过50万条的表非常重要,此代码是我们项目中使用的,实际使用情况稳定,也希望大家...

    sql server2008分页存储过程

    本人整理的sql server2008分页存储过程,很好用的,效率很高

    最简单的SQL Server数据库存储过程分页

    `:使用系统存储过程`sp_cursoropen`打开一个游标。这里`@scrollopt = 1`表示游标类型为静态游标,`@ccopt = 335873`表示允许滚动和只读等属性,`@rowcount = @nRowCount OUTPUT`将查询结果的行数输出到`@nRowCount`...

    asp+sqlserver2005万能分页存储过程源码

    asp+sqlserver2005万能分页存储过程源码 sqlserver2005源码下载,很灵活的

    sql分页 sqlserver中存储过程分页

    ### SQL Server 存储过程实现分页查询 #### 背景介绍 在数据库操作中,分页查询是非常常见的需求之一。特别是在数据量较大的场景下,分页不仅可以提高查询效率,还能改善用户体验。SQL Server 提供了多种方式进行...

    sql server分页存储过程演示

    sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 sql server,分页存储,过程,演示 ...

    高效分页存储过程 高效分页存储过程

    本文将深入探讨如何创建和使用高效的分页存储过程,并针对SQL Server 2005及2010提供一个实用的例子。 首先,理解分页的基本概念。分页通常涉及到两个关键参数:当前页码(PageNumber)和每页记录数(PageSize)。...

    SQL Server 2005分页显示存储过程

    ### SQL Server 2005 分页显示存储过程 #### 背景介绍 在数据库应用开发中,分页查询是非常常见的需求之一。对于大型数据集来说,如果一次性加载所有数据到前端展示,不仅会增加服务器负担,还会影响用户体验。因此...

    sql server 通用分页存储过程

    1.查询返回的表、列名以及排序列没有写死,可以根据需要将这些放到存储过程的输入参数中; 2.适用于所有需要分页的单表或多表联合查询。

    SQL Server2005分页查询

    在SQL Server 2005中,分页查询是一个常见的需求,特别是在处理大量数据时,为了提高用户体验,通常需要一次性加载一定数量的数据,而不是一次性显示所有数据。以下将详细讲解SQL Server 2005中分页查询的常用方法。...

    ASP+SQL Server带条件查询的分页存储过程及其ASP调用实例

    "ASP+SQL Server带条件查询的分页存储过程及其ASP调用实例" 本文主要介绍了如何使用ASP和SQL Server实现带条件查询的分页存储过程,并提供了实例代码和调用示例。该实例已经在IIS+ASP+SQL Server环境中进行了调试,...

Global site tag (gtag.js) - Google Analytics