mysql sqlserver分页_SqlServer、MySql万能分页代码

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

go  ----SqlServer万能分页代码

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

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

MySql通用分页加条件

delimiter //

drop procedure if exists `WebPager`;

create DEFINER=`root`@`%` procedure WebPager

(

in tableName varchar(4000),-- 表关系

in selectField varchar(4000),-- 要查询的字段

in strwhere varchar(4000),-- 条件

in ordering varchar(1000),-- 排序字段

in sort int,-- 排序方式 0表示顺序,1表示倒序

in pageIndex int,-- 当前页数

in pageSize int ,-- 每页显示的记录数

out rows int -- 总行数

)

begin

-- declare sqlstr varchar(4000);

set @sqlstr=concat('select SQL_CALC_FOUND_ROWS ',selectField,' from ',tableName,' where 1=1 ');

if strwhere is not null then -- 判断条件是否为空

set @sqlstr=concat(@sqlstr,' and ',strwhere);

end if;

if ordering is not null then

if sort=0 then

set @sqlstr=concat(@sqlstr,' order by ',ordering);

end if;

if sort=1 then

set @sqlstr=concat(@sqlstr,' order by ',ordering,' desc');

end if;

end if;

set @sqlstr=concat(@sqlstr,' limit ',(pageIndex-1)*pageSize,',',pageSize);

-- select sqlstr;

PREPARE distSQL FROM @sqlstr;

EXECUTE distSQL;

DEALLOCATE PREPARE distSQL;

set rows=FOUND_ROWS();-- 获取总记录数

end; //

-- call WebPager('card_manager','*','Del_Flag=0 and Balance>1000','Card_Code',1,1,2,@rows); select @rows;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

并查集做题总结

CF 469B 构造出两个节点n1,n2来存放A集合和B集合中的数据,显然一个合理的分配不会使得一个元素既在A里面,也在B里面。而由于每一个元素都要去分配,如果a-x没有那它就得在B里面(和n2合并),同理对于b-x没有的…

离职了

这是我毕业后的第一份工作...面试时,HR小姐姐告诉我...然鹅...我入职之后才发现:对标阿里的只有加班强度对标华为的只有狼性文化对标百度的,额,没有对标百度同事们有的住在海淀区、有的住在朝阳区,作为刚毕业的一枚“穷…

windows7官方原版_如何下载微软原版操作系统、办公软件

如何下载微软原版操作系统、办公软件?简介:微软操作系统从MS-DOS到Windows XP,Windows 7,Windows 8,再到现在的Windows 10 ,一代比一代强,每代都有自己的特点。现在我们能从官网上下载到的只有W…

gojs 部分功能实现

最近做的项目用到了gojs,使用了一段时间发现其功能特别强大,先记录下目前自己用到的把 1. 初始化画布 myDiagram $(go.Diagram, "myDiagramDiv", {}); 2. 定义node 模型 myDiagram.nodeTemplate $(go.Node, "Vertical", { locati…

CPU是如何访问到内存的?

讨论的重点我们知道CPU有地址总线,数据总线和控制总线数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。地址总线(Address Bus):用来指定在RAM(Random Access…

海量url mysql_海量数据mysql优化步骤

第一优化你的sql和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第…

macos支持exfat吗_打造便捷、人性化的macOS桌面使用环境

原标题:打造便捷、人性化的macOS桌面使用环境打造便捷、人性化的macOS桌面使用环境 2020-10-23 17:25:410点赞4收藏0评论欢迎参加#果粉是怎样炼成的#征稿,围观秋季发布会新品!是什么让苹果生态无法割舍?快来讲讲你的果粉炼成记&am…

Delphi XE7的Splash 功能

Delphi XE7的Splash 功能转载于:https://www.cnblogs.com/LittleTiger/p/7020349.html

滴滴是如何搭建起PB级数据中台的?

滴滴公司自12年底上线至今,俨然成功跻身互联网大咖行列,在以流量活命的互联网世界里,如果没有一定的硬核技术为业务做支撑,单靠营销与宣传,是没有办法留住日益挑剔的用户的。我们今天就谈一谈滴滴打车背后所用到的大数…

gdbc 同步mysql_Jdbc数据同步

ElasticSearch 安装安装前准备安装JDK7及以上版本(这里不再讲述JDK安装步骤)下载ElasticSearch安装包,点击 获取elasticsearch-2.1.1.tar.gz安装包(https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.…

CommonJS规范

概述 Node应用由模块组成,采用CommonJS模块规范。 根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。转载于:https://www.cnblogs.com/happy1992…

java技术_2020年最流行的Java开发技术

点击上方“千锋教育”后台回复「 Java 」,领取视频学习教程在本文中,我们将以编程界最常用的编程语言Java为例,分享最为主流的技术与工具。Java几乎无处不在,无论在智能手机、台式机、游戏设备还是科学超级计算机上,处…

一个小码农对嵌入式的理解

今年毕业刚工作半年,稍微写一下自己的见解。嵌入式工程师简直就是硬件工程师与软件工程师的合体!别问我是哪一类软件工程师,反正不是前端、后端、APP、测试、运维。也别问我是什么硬件工程师,电源、单片机、高频、通信……你会做你…

mysql cluster linux_【完美】Mysql-cluster数据库集群搭建(linux)

介绍《Mysql-cluster数据库集群介绍》安装系统:Linux CentOS7.4查看是否安装mysqlrpm -qa | grep mysql普通删除rpm -e mysql强力删除rpm -e --nodeps mysql通过wget安装wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.8-linux…

洛谷P1901 发射站

P1901 发射站 245通过468提交题目提供者该用户不存在标签NOI导刊云端↑难度普及/提高-时空限制1s / 128MB提交 讨论 题解 最新讨论更多讨论 大神路过的看一下输入后面为什么带空格。有人说是单调队列,但不明明…题目描述 某地有 N 个能量发射站排成一行&#xf…

gx works2 存储器空间或桌面堆栈不足_静态体验奇瑞艾瑞泽GX冠军版,细节做工很精湛...

奇瑞艾瑞泽GX冠军版车型正式上市。编辑近日趁着区域上市的机会,对其进行了静态体验。这车怎么样?分几个方面来看看外观方面,运动范儿十足,看着就年轻,一副活力四射的样子。得益于fastback极速凌动的设计元素&#xff0…

我这几年呆的这几个公司

之前发的丰富的经历我12年硕士毕业,历经华为,某芯片原厂外企,某芯片原厂国企,某手机公司,最后来到大疆,可以说是一个跳槽小能手,因为具有多家大企业的工作经历,我觉得谈下自己在各个…

mysql 主键 最佳实践_Spring Data Jpa + MySQL IDENTITY 主键下批量插入最佳实践

Spring Data Jpa 虽然可以使用参数调整批量插入,但是仅限于主键策略不是 IDENTITY 的情况下,对于习惯了使用 IDENTITY 的 MySQL 选手来说,批量插入数据直接就悲剧了。幸好我们还有 JdbcTemplate 这个利器,我们使用 Spring Data Jp…

nsoutlineview 搜索_阿里巴巴搜索推荐广告三位一体的在线服务体系

最近在工作中大量使用到了淘系的在线分发服务体系,可以快速高效的实现个性化内容分发,其技术架构的概览在这里分享给大家。AIOS(Artificial Intelligence Online Serving)是阿里巴巴集个性化搜索、推荐、广告三位一体的在线服务平台。在大型互联网公司里…

为了生活

前几天,我刚刚满30岁,30岁的那天,过得很深刻,高烧了40度,每次发烧我都没有去医院,这次也一样,潜意识里面觉得它一定会来,潜意识里面也知道它一定会走,不管是40度还是45度…