SqlServer 存储过程分页
适用于2005以上版本
create procedure [dbo].[SP_GetPageList]
(
@columns nvarchar(max), --查询字段
@tablename nvarchar(max), --表名\视图
@orderby nvarchar(max), --排序字段
@swhere nvarchar(max), --查询条件
@pagesize int, --每页条数
@pageindex int, --页的索引
@rowCount int output --总记录数
)
as --获取总记录数
declare @sqlcount Nvarchar(max)
set @sqlcount=N'select @rowCount=count(*) from '+@tablename+' '+@swhere
exec sp_executesql @sqlcount, N'@rowCount int out', @rowCount out --计算页数
declare @pagecout int
if @rowCount%@pagesize>0
set @pagecout=(@rowCount/@pagesize)+1
else
set @pagecout=(@rowCount/@pagesize) --计算起始索引
declare @begin nvarchar(30)
declare @end nvarchar(30) if @pageindex<1
set @pageindex=1 if @pageindex>@pagecout
set @pageindex=@pagecout
set @begin=convert(nvarchar(30), (@pagesize*(@pageindex-1))+1)
set @end=CONVERT(nvarchar(30), @pagesize*@pageindex) --查询结果
declare @sqlre nvarchar(max)
declare @top int
set @top=@pageindex*@pagesize
set @sqlre=N'select top '+Cast(@top as varchar)+' ROW_NUMBER() over('+@orderby+') as rownum, '+@columns+' from '+@tablename+' '+@swhere exec('select '+@columns+' from ('+@sqlre+') a where a.rownum between '+@begin+' and '+@end+' '+@orderby)
SqlServer 存储过程分页的更多相关文章
- sqlserver 存储过程分页管理
-- =============================================-- Author: <Author:刘畅>-- Create date: <Cre ...
- sqlserver 存储过程 分页搜索查询
具体调用实例见代码最后一行注释区域 --if exists(select * from sysobjects where id = object_id(N'page_search') and type ...
- sqlserver存储过程分页记录
USE [HK_ERP]GO/****** Object: StoredProcedure [dbo].[GetPageBillsByShopID] Script Date: 2018/10/30 1 ...
- sqlserver存储过程分页
create procedure [dbo].[SqlPager]@sqlstr nvarchar(4000), --查询字符串@currentpage int, --第N页@pagesize in ...
- SqlServer存储过程应用二:分页查询数据并动态拼接where条件
前言 开发中查询功能是贯穿全文的,我们来盘一盘使用存储过程分页查询,并且支持动态拼接where条件. 划重点:支持动态拼接where条件 对存储过程的使用有疑问的同学去[SqlServer存储过程的创 ...
- MS SQLSERVER通用存储过程分页
最近在面试的时候,遇到个奇葩的秃顶老头面试官. 问:写过存储过程分页吗? 答:没写过,但是我知道分页存储的原理,我自己也写过,只是在工作中没写过. 问:那你这么多年工作中就没写过吗? 答:的确没写过, ...
- SQL存储过程分页(通用的拼接SQL语句思路实现)
多表通用的SQL存储过程分页 案例一: USE [Community] GO /****** Object: StoredProcedure [dbo].[Common_PageList] Scrip ...
- Sqlserver数据库分页查询
Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID.YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询 ...
- 【原创】10万条数据采用存储过程分页实现(Mvc+Dapper+存储过程)
有时候大数据量进行查询操作的时候,查询速度很大强度上可以影响用户体验,因此自己简单写了一个demo,简单总结记录一下: 技术:Mvc4+Dapper+Dapper扩展+Sqlserver 目前主要实现 ...
随机推荐
- remoting方式
1. WebService跨平台,跨防火墙,但是很抱歉,基于xml速度慢2. RMI(java)/Remoting(.net)平台相关,基于二进制序列化,速度快.3.dcom(com+)spring提 ...
- GitHub Desktop for Win 安装不上
采用了ClickOnce部署方式,网速不给力,安装过程经常断线,要是有离线安装包就好了.
- javascript加载顺序
javascript加载顺序 <script type="text/javascript" src="jquery.js"></script& ...
- android 学习随笔八(异常处理总结)
1.在android 中开发java.net.SocketException: socket failed: EACCES (Permission denied) 报错 第一反应就是缺少网络权限,然后 ...
- MySQL rename database如何做?
虽然MySQL里面有rename database的语法,但是只是在5.1.7 to 5.1.23提供的,其他版本并没有,要想做rename操作该如何做呢?percona提供了一个shell #!/b ...
- Linux下通过crontab及expect实现自动化处理
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 目标 为实现每天定时从其他服务器上复制文件到本地,需要使用crontab建立定时任务,并通过scp进行Linux之间的文件复制. ...
- vmdk虚拟机转换为OVF模板,导入esxi
VMware WorkStation安装目录下,有一个OVFTool文件夹,例如我电脑上的路径为:D:\VMware\VMware\OVFTool.通过CMD进入到命令行模式,更改到该目录下,运行如下 ...
- js的作用域
全局代码和两个函数都会形成一个作用域,通过函数是在哪个作用域下创建的来确定作用域的上下级关系.作用域最大的用处是隔离变量,不同作用域下同名变量不会有冲突.
- ACM题目————A simple problem
Description Zty很痴迷数学问题..一天,yifenfei出了个数学题想难倒他,让他回答1 / n.但Zty却回答不了^_^. 请大家编程帮助他. Input 第一行整数T,表示测试组 ...
- 【转】用 SVN Importer 实现 CSVNT 到 SVN 的转换
转载地址:http://www.blogjava.net/yongbing/archive/2007/03/04/101761.html 用 SVN Importer 实现 CSVNT 到 SVN 的 ...