当前位置:首页 > 系统运维 > 正文内容

sqlserver分页存储过程实例

a8116255316年前 (2010-09-13)系统运维11

在SQL数据库中,经常需要用到分页,接下来的SQL server内容就将为您示例sqlserver分页存储过程的建立,供您参考。假如您在sqlserver分页方面遇到过问题,不妨一看,相信对您更好掌握sqlserver分页会有帮助。

create proc commonPagination   @columns varchar(500), --要显示的列名,用逗号隔开   @tableName varchar(100), --要查询的表名   @orderColumnName varchar(100), --排序的列名   @order varchar(50), --排序的方式,升序为asc,降序为 desc   @where varchar(100), --where 条件,假如不带查询条件,请用 11=1   @pageIndex int, --当前页索引   @pageSize int, --页大小(每页显示的记录条数)   @pageCount int output --总页数,输出参数   as   begin   declare @sqlRecordCount nvarchar(1000) --得到总记录条数的语句   declare @sqlSelect nvarchar(1000) --查询语句   set @sqlRecordCount=N'select @recordCount=count(*) from '   +@tableName + ' where '+ @where   declare @recordCount int --保存总记录条数的变量   exec sp_executesql @sqlRecordCount,N'@recordCount int output',@recordCount output   --动态 sql 传参   if( @recordCount % @pageSize = 0) --假如总记录条数可以被页大小整除   set @pageCount = @recordCount / @pageSize --总页数就等于总记录条数除以页大小   else --假如总记录条数不能被页大小整除   set @pageCount = @recordCount / @pageSize + 1 --总页数就等于总记录条数除以页大小加1   set @sqlSelect =   N'select '+@columns+' from (   select row_number() over (order by '   +@orderColumnName+' '+@order   +') as tempid,* from '   +@tableName+' where '+ @where   +') as tempTableName where tempid between '   +str((@pageIndex - 1)*@pageSize + 1 )   +' and '+str( @pageIndex * @pageSize)   exec (@sqlSelect) --执行动态Sql   end   go   --以下是调用示例   use pubs   go   declare @pageCount int   exec commonPagination   'job_id,job_desc','jobs','job_id',   'asc','11=1',2,2,@pageCount output   select '总页数为:' + str(@pageCount)  详细出处参考:http://www.jb51.net/article/19936.htm 

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/22375.html

分享给朋友:

“sqlserver分页存储过程实例” 的相关文章

Windows7开机后出现黑一下屏性能降低

Windows7开机后出现黑一下屏性能降低

打开IE浏览器的时候、聊QQ的时候、玩游戏的时候… … 这到底是谁惹的祸呢? 很多人都知道Windows 7桌面特效全部开启会使系统性能降低,那到底是哪个特效导致的这一情况呢? 解决办法: 右键计算机,高级系统设置-性能-设置-关闭”任务栏和开始菜单使用动画“和”最大化和最小化动态显示窗口“...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04应用窗口列表在哪里?在ubuntu下打开个几个应用窗口最小化后怎么切换呢,应用窗口列表在哪里呢? 1、多打开几个chrome浏览器窗口。 2、然后都做最小化处理。 3、现在我们在桌面左边的面板上找到"左右两边有小白点"的chrome浏览器应用图标,这就是chr...

windows 7如何创建拨号连接

windows 7如何创建拨号连接

一、打开控制面板,选择“网络和共享中心”; 二、在网络和共享中心中选择“设置新的连接或网络”; 三、选择连接到Internet; 四、选择“仍要设置新的连接”; 五、选择“宽带PPPoE ”; 六、输入对应的宽带帐号及密码,点击连接即可;...

windows 7系统中不能把程序锁定到任务栏的解决方法图文讲解

windows 7系统中不能把程序锁定到任务栏的解决方法图文讲解

最近小编在使用Windows 7的时侯遇到一个问题,就是应用程序和快捷方式不能锁定到任务栏,我当时不知道怎么回事,但是很多现有的方法都不能解决这个问题。现在我把我的解决的方法分享给大家以作参考。 问题分析 经过思考,初步判断出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。...

windows 7怎么设置密码永不过期?

windows 7怎么设置密码永不过期?

下面小编以Windows 7 64位为例,介绍下密码是如何设置永不过期的。  1、在桌面上打开“开始”菜单,或者点击“Win+R”快捷键将“运行”对话框打开。  2、运行对话框打开后,在里面中输入“lusrmgr.msc”字符命令,就可以打开“本地用户和组程序”。...