sql数据库中常用的分页 我做了一个万能的 用的上的小伙伴拿去耍吧

go  ----万能分页代码
create procedure [dbo].[sp_datapager]
@pagesize int,--每一页的大小
@pageindex int,--页码数
@tablename varchar(Max),--表的名称
@keycolumn varchar(20),---主键id
@columns varchar(200),--要查询出列的名称
@where varchar(200),---查询条件
@orderby varchar(100),---排序方式
@recordcount int out--输出参数,非0则返回要查询表的总记录数

as
declare @sql nvarchar(3000)
declare @rcsql nvarchar(1000)
set @rcsql='select @rc=count(*) from '+@tablename
set @sql='select top '+convert(varchar(3),@pagesize)+' '+ @columns+' from '+
@tablename +' where '+@keycolumn+' not in(select top '+
convert(varchar(10),(@pageindex-1)*@pagesize)+' '+@keycolumn+
' from '+@tablename+')'
if (@where!='')
begin
set @rcsql='select @rc=count(*) from '+@tablename+' where '+@where
set @sql='select top '+convert(varchar(3),@pagesize)+ @columns+' from '+
@tablename +' where '+@keycolumn+' not in(select top '+
convert(varchar(10),(@pageindex-1)*@pagesize)+' '+@keycolumn+
' from '+@tablename+' where '+@where+') and '+@where
end
if (@orderby!='')
begin
if (@where!='')
begin
set @sql='select top '+convert(varchar(3),@pagesize)+ @columns+' from '+
@tablename +' where '+@keycolumn+' not in(select top '+
convert(varchar(10),(@pageindex-1)*@pagesize)+' '+@keycolumn+
' from '+@tablename+' where '+@where+' order by '+@orderby+') and '+
@where+' order by ' +@orderby
end
else
begin
set @sql='select top '+convert(varchar(3),@pagesize)+ @columns+' from '+
@tablename +' where '+@keycolumn+' not in(select top '+
convert(varchar(10),(@pageindex-1)*@pagesize)+' '+@keycolumn+
' from '+@tablename+' order by '+@orderby+')'+' order by ' +@orderby
end

end
declare @param nvarchar(100)
set @param='@rc int output'
exec sp_executesql @sql
exec sp_executesql @rcsql,@param,@rc=@recordcount output

Sql万能分页代码的更多相关文章

  1. sql语句分页代码

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO alter proc sp_SelectInfomationByKeyWord--创建一个存储过程 - ...

  2. SQL 数据分页查询

    最近学习了一下SQL的分页查询,总结了以下几种方法. 首先建立了一个表,随意插入的一些测试数据,表结构和数据如下图: 现在假设我们要做的是每页5条数据,而现在我们要取第三页的数据.(数据太少,就每页5 ...

  3. Oracle中经典分页代码!

    在Oracle中因为没有top关键字,所以在sqlserver中的分页代码并不适用于Oracle,那么在Oracle中如何来实现分页呢? --查询所有数据 STUNO STUNAME STUAGE S ...

  4. SQL Server 分页方法汇总

    PageSize = 30 PageNumber = 201 方法一:(最常用的分页代码, top / not in) UserId UserId from UserInfo order by Use ...

  5. PHP分页初探 一个最简单的PHP分页代码实现

    PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...

  6. 对sql进行分页处理(Oracle版)

    直接代码 /// <summary> /// 对sql进行分页处理 /// </summary> /// <param name="sql">& ...

  7. PHP分页初探 一个最简单的PHP分页代码的简单实现

    PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...

  8. java常用公共代码二之分页代码的实现

    在项目中,我们经常会写到一些公共的代码,来让开发人员调用,减少代码重复,下面,我就将一些常用到的公共类贴出来和大家分享!! 二.分页代码实现:在项目中,分页是一个项目中必不可少的,它可以防止我们从数据 ...

  9. (3.15)常用知识-sql server分页

    推荐使用row_number over()方法,或2012以上使用offset PageSize = PageNumber = 方法一:(最常用的分页代码, top / not in) UserId ...

随机推荐

  1. iPhone6 AirDrop找不到我的mac解决方法!注销mac和iPhone的icloud账号

    注销mac和iPhone的icloud账号,icloud 会自动同步个人热点,个人热点开启状态,mac 和 iPhone 无法看到对方!

  2. 零基础入门学习javase,应该怎么学?这是我给你的一个建议

    我们知道Java有三个方向,JavaSE,JavaME,JavaEE(老程序员可能会叫J2EE等,不过SUN已经改名了).JavaME主要是嵌入式与游戏开发.那我们先看JavaSE,因为只有学好了Ja ...

  3. javascript正则表达式学习(二)--位置匹配

    文章首发于sau交流学习社区 一.前言 正则表达式是匹配模式,要么是匹配字符,要么匹配位置. 其实在开发中很少用到匹配位置,本篇文章主要包含: 二.什么是位置 位置:相邻字符之间的位置. 三.如何匹配 ...

  4. Github:修改Github仓库中项目语言类型

    前述 有的时候我们把项目上传到github仓库上时语言会显示错误语言 比如一个java项目可能因为有js文件的存在而被识别为js项目 这种时候我们就要手动去修改Github的项目语言类型 解决办法 在 ...

  5. [译]PEP 342--增强型生成器:协程

    PEP原文 : https://www.python.org/dev/peps/pep-0342/ PEP标题: Coroutines via Enhanced Generators PEP作者: G ...

  6. java接口与抽象类

    本片随笔讲讲java中接口与抽象类. 一,接口 1.什么是接口? 那在日常生活中接口是什么呢?就是两个对象之间进行连接的部分就是接口,就比如热水器与水管的接口一样,他可以确保不同的东西之间的顺利连接, ...

  7. 总结微信公众平台网页开发中遇到的ios的兼容问题

    1. ios中音频不自动播放: 原因:出于节省流量的初衷,ios系统禁止音视频自动播放. 解决方案:使用微信的JS-SDK. DEMO: 先引入微信的JS-SDK, <script src=&q ...

  8. 涨姿势:抛弃字母、数字和下划线写SHELL

    PHP中异或 (^) 的概念 <?php echo"A"^"?";?> <?php echo"A"^"?&quo ...

  9. [ArcGIS API for JavaScript 4.8] Sample Code-Popups-1-popupTemplate的概念和popup中属性字段值的多种表现形式

    [官方文档:https://developers.arcgis.com/javascript/latest/sample-code/intro-popuptemplate/index.html] 一. ...

  10. 个人整理的 Windows 下 .NET 开发必装的软件

    注: 最后更新时间:2019-03-15 一..NET 开发 1. 必装 软件名称 说明 下载地址 JetBrains Toolbox JetBrins 全家桶管理工具. 下载地址 JetBrains ...