/*
--名称:MYSQL版查询分页存储过程
--输入参数:@fields -- 要查询的字段用逗号隔开
--输入参数:@tables -- 要查询的表
--输入参数:@where -- 查询条件
--输入参数:@orderby -- 排序字段
--输出参数:@page -- 当前页计数从1开始
--输出参数:@pagesize -- 每页大小
--输出参数:@totalcount -- 总记录数
--输出参数:@pagecount -- 总页数
--输出参数:_sumfields -- 统计字段
*/
DROP PROCEDURE IF EXISTS Proc_Page;
CREATE PROCEDURE Proc_Page
(
in _fields varchar(2000),
in _tables text,
in _where varchar(2000),
in _orderby varchar(200),
in _pageindex int,
in _pagesize int,
in _sumfields varchar(200),
out _totalcount int ,
out _pagecount int
)
begin
set @startRow = _pageSize*(_pageIndex -1);
set @pageSize = _pageSize;
set @rowindex = 0;
set @strsql = CONCAT('select sql_calc_found_rows @rowindex:=@rowindex+1 as rownumber,',_fields,' from ',_tables,case ifnull(_where,'') when '' then '' else concat(' where ',_where) end,' order by ',_orderby,' limit ',@startRow,',',@pageSize);
prepare strsql from @strsql;
execute strsql;
deallocate prepare strsql;
set _totalcount = found_rows();
if (_totalcount <= _pageSize) then
set _pagecount = 1;
else if (_totalcount % _pageSize > 0) then
set _pagecount = _totalcount / _pageSize + 1;
else
set _pagecount = _totalcount / _pageSize;
end if;
end if;
if(ifnull(_sumfields,'') <> '')
then
set @sumsql = contact('select ',_sumfields,' from ',_tables,case ifnull(_where,'') when '' then '' else concat(' where ',_where) end);
prepare sumsql from @sumsql;
execute sumsql;
deallocate prepare sumsql;
end if;
end MySQL 分页存储过程
来源:这里教程网
时间:2026-02-28 08:34:47
作者:
编辑推荐:
- MySQL 的存储过程中请求一个锁对象02-28
- 在windows10上安装mysql详细图文教程_MySQL02-28
- MySQL 分页存储过程02-28
- MySQL序列解决方案02-28
- SELECT 语句模式02-28
- mysql家谱表查询某人所有后代02-28
- MySQL数据库数据存放位置修改02-28
- mysql数据库操作02-28
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 在windows10上安装mysql详细图文教程_MySQL
在windows10上安装mysql详细图文教程_MySQL
26-02-28 - MySQL数据库数据存放位置修改
MySQL数据库数据存放位置修改
26-02-28 - MySQL简单主从方案暴露问题
MySQL简单主从方案暴露问题
26-02-28 - Windows 下noinstall方式安装 mysql 5.7.5 m15 winx64(推荐)_MySQL
- mysql 导出select语句结果到excel文件遇到问题及解决方法_MySQL
- mysql 存储过程 1242-MySQL存储过程ITERATE和LEAVE
- mysql-Mysql的安装问题求大神啊啊
mysql-Mysql的安装问题求大神啊啊
26-02-28 - mysql-关于mfc应用程序的问题
mysql-关于mfc应用程序的问题
26-02-28 - 图片上的是mysql哪一种可视化工具?
图片上的是mysql哪一种可视化工具?
26-02-28 - Mysql的基础使用之MariaDB安装方法详解_MySQL
Mysql的基础使用之MariaDB安装方法详解_MySQL
26-02-28
