-- 创建分页存储过程
-- 1 判断存在即删除
DROP PROCEDURE IF EXISTS popp;
-- 2 创建万能分页
CREATE  PROCEDURE popp
(
_fls VARCHAR(200), -- 查询字段.默认 *
_name VARCHAR(100),-- 表名
_where VARCHAR(200),-- where过滤条件, 默认 1=1
_orderby VARCHAR(200),-- 排序条件,
_pageIndex INT, -- 当前页数
_pageSize INT, -- 每页条数
OUT _allCount INT,-- 总条数
OUT _allPage INT -- 总页数
)
BEGIN
-- 1.计算开始行
SET @startrow = (_pageIndex-1)*_pageSize;
-- 2.计算结束行
SET @endrow = _pageSize;
-- 拼接字符串
SET @strsql = CONCAT(
' SELECT ',
' SQL_CALC_FOUND_ROWS ',
_fls,
' FROM ',
_name,
CASE IFNULL(_where,'') WHEN '' THEN '' ELSE CONCAT(' where ',_where) END,
CASE IFNULL(_orderby,'') WHEN '' THEN '' ELSE CONCAT(' order by ',_orderby) END,
' LIMIT ',
@startrow,
' , ',
@endrow
);
-- 把字符串转化为sql语句
PREPARE strsql FROM @strsql;
-- 5.执行SQL
EXECUTE strsql;
-- 6.去掉转换
DEALLOCATE PREPARE strsql;
-- 7.获取总条数
SET _allCount = FOUND_ROWS();
-- 8.计算总页数
IF _pageSize > _allCount THEN
SET _allPage =1;
ELSE
SET _allPage = CEILING(_allCount*1.0/_pageSize);
END IF;
END;
-- 调用万能分页存储过程
CALL popp('*','planInfo','1=1',NULL,1,3,@AllCount,@AllPage);
SELECT @AllCount,@AllPage;

MySQL的分页存储过程的更多相关文章

  1. MySql通用分页存储过程

    MySql通用分页存储过程 1MySql通用分页存储过程 2 3过程参数 4p_cloumns varchar(500),p_tables varchar(100),p_where varchar(4 ...

  2. mysql通用分页存储过程遇到的问题(转载)

    mysql通用分页存储过程遇到的问题(转载) http://www.cnblogs.com/daoxuebao/archive/2015/02/09/4281980.html

  3. mysql的分页存储过程,能够传出总记录数

    最近用mysql + asp.net来写网站,既然mysql已经支持存储过程了,那么像分页这么常用的东西,当然要用存储过程啦 不过在网上找了一些,发现都有一个特点——就是不能传出总记录数,干脆自己研究 ...

  4. mysql通用分页存储过程遇到的问题

    DELIMITER $$ USE `tsb_asksys`$$ DROP PROCEDURE IF EXISTS `P_viewPage`$$ CREATE DEFINER=`root`@`local ...

  5. mysql灵活分页存储过程

    ), -- 表名 ), -- 排序字段(必须!支持多字段不用加order by) IN _PageIndex int, -- 指定当前为第几页 IN _PageSize int, -- 每页多少条记录 ...

  6. MySql简单分页存储过程

    BEGIN DECLARE startIndex int; select COUNT(*) INTO RecordCount from test; SET startIndex = (PageInde ...

  7. MYSQL分页存储过程及事务处理

    最近给客户做的一小系统是SQLSERVER的数据库,因为特殊原因要切换到MYSQL上去,切换数据库确实让人头疼的,SQLSERVER和MYSQL的存储过程还是有很大差别的,下面是我做切换时转换的MYS ...

  8. MYSQL分页存储过程及事务处理--转自peace

    MYSQL的分页过程,和事务处理的一个测试过程. /* --名称:MYSQL版查询分页存储过程 by peace 2013-8-14 --输入参数:@fields -- 要查询的字段用逗号隔开 --输 ...

  9. MYSQL版查询分页存储过程

    /*--名称:MYSQL版查询分页存储过程 --输入参数:@fields -- 要查询的字段用逗号隔开--输入参数:@tables -- 要查询的表--输入参数:@where -- 查询条件--输入参 ...

随机推荐

  1. Linux操作系统分析 | 深入理解系统调用

    实验要求 1.找一个系统调用,系统调用号为学号最后2位相同的系统调用 2.通过汇编指令触发该系统调用 3.通过gdb跟踪该系统调用的内核处理过程 4.重点阅读分析系统调用入口的保存现场.恢复现场和系统 ...

  2. vue中 transition组件使用总结

    博客园比较啃爹啊,随笔只能手写,之前写在有道云笔记里面的内容也复制不了,忧伤..... 长话短说,看官方的transition 的讲解,可能是内容太多了,或者就是本人太辣鸡了,看的有点懵逼,但是项目中 ...

  3. Android_存储访问框架SAF

    概念 存储访问框架---Storage Access Framework (SAF),这是在Android4.4(API level 19)之后引入的. 借助 SAF,用户可轻松在其所有首选文档存储提 ...

  4. [JavaWeb基础] 007.Struts2的配置和简单使用

    1.框架简介 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架,用于快速开发Java Web应用.Struts实现的重点在C(Controller), ...

  5. Java中的集合(十四) Map的实现类LinkedHashMap

    Java中的集合(十四) Map的实现类LinkedHashMap 一.LinkedHashMap的简介 LinkedHashMap是Map接口的实现类,继承了HashMap,它通过重写父类相关的方法 ...

  6. PAT1065 单身狗 (25分) 思路记录——参考大神柳婼

    1065 单身狗 (25分)   “单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤ 50 000), ...

  7. appnium(一)简介

    一.appium简介 1,appium是开源的移动端自动化测试框架: 2,appium可以测试原生的.混合的.以及移动端的web项目: 3,appium可以测试ios,android应用(当然了,还有 ...

  8. Rocket - util - GenericParameterizedBundle

    https://mp.weixin.qq.com/s/vf0PfjbxQ3Ywjk6tk85SfA   介绍GenericParameterizedBundle的实现.   ​​   1. 基本介绍 ...

  9. pip安装Python库速度慢的解决方法

    最近在写大数据文本挖掘的考查报告,需要用到 jieba切词,于是在pycharm中安装 jieba 库 首先是在 File—settings中通过搜索安装,然而安了五分钟之后还是失败了 于是通过终端输 ...

  10. Java实现 LeetCode 777 在LR字符串中交换相邻字符(分析题)

    777. 在LR字符串中交换相邻字符 在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作.一次移动操作指用一个"L ...