当前位置:首页 > 系统运维 > 正文内容

MySQL分页查询通用存储过程的代码总结

a8116255316年前 (2010-06-11)系统运维8

此文章主要向大家讲述的是MySQL分页查询通用存储过程,我们前一段时间没有给出SQLServer转到MySQL的通用存储过程,本着与大家共享的精神,为大家奉献这段MySQL分页查询通用存储过程,假设所用数据库为guestbook:

use guestbook;  delimiter $$  drop procedure if exists prc_page_result $$  create procedure prc_page_result (  in currpage int,  in columns varchar(500),  in tablename varchar(500),  in sCondition varchar(500),  in order_field varchar(100),  in asc_field int,  in Prima(最完善的虚拟主机管理系统)ry_field varchar(100),  in pagesize int  )  begin  declare sTemp varchar(1000);  declare sSql varchar(4000);  declare sOrder varchar(1000);   if asc_field = 1 then  set sOrder = concat(' order by ', order_field, ' desc ');  set sTemp = '<(select min';  else  set sOrder = concat(' order by ', order_field, ' asc ');  set sTemp = '>(select max';  end if;  if currpage = 1 then  if sCondition <> '' then  set sSql = concat('select ', columns, ' from ', tablename, ' where ');  set sSql = concat(sSql, sCondition, sOrder, ' limit  ');  else  set sSql = concat('select ', columns, ' from ', tablename, sOrder, ' limit  ');  end if;  else  if sCondition <> '' then  set sSql = concat('select ', columns, ' from ', tablename);  set sSql = concat(sSql, ' where ', sCondition, ' and ', Prima(最完善的虚拟主机管理系统)ry_field, sTemp);  set sSql = concat(sSql, '(', Prima(最完善的虚拟主机管理系统)ry_field, ')', ' from (select ');  set sSql = concat(sSql, ' ', Prima(最完善的虚拟主机管理系统)ry_field, ' from ', tablename, sOrder);  set sSql = concat(sSql, ' limit ', (currpage-1)*pagesize, ') as tabtemp)', sOrder);  set sSql = concat(sSql, ' limit  ');  else  set sSql = concat('select ', columns, ' from ', tablename);  set sSql = concat(sSql, ' where ', Prima(最完善的虚拟主机管理系统)ry_field, sTemp);  set sSql = concat(sSql, '(', Prima(最完善的虚拟主机管理系统)ry_field, ')', ' from (select ');  set sSql = concat(sSql, ' ', Prima(最完善的虚拟主机管理系统)ry_field, ' from ', tablename, sOrder);  set sSql = concat(sSql, ' limit ', (currpage-1)*pagesize, ') as tabtemp)', sOrder);  set sSql = concat(sSql, ' limit  ');  end if;  end if;  set @iPageSize = pagesize;  set @sQuery = sSql;  prepare stmt from @sQuery;  execute stmt using @iPageSize;  end;  $$  delimiter;  

可以存储为数据库脚本,然后用命令导入:

MySQL(和PHP搭配之更佳组合) -u root -p < pageResult.sql;

调用:call prc_page_result(1, "*", "Tablename", "", "columnname", 1, "PKID", 25);

上面说了这么多内容,是关于对MySQL分页查询通用存储过程的介绍,不知道各位对MySQL的认识是不是更上一层楼了,时时关注2345hao.cn,学习最新Mysql技术。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21114.html

分享给朋友:

“MySQL分页查询通用存储过程的代码总结” 的相关文章

如何删除自带的不常用应用为windows 7减负

如何删除自带的不常用应用为windows 7减负

对于Windows 7系统来说,其默认安装的许多工具是我们很少使用或从来不用的,比如系统自带的扫雷、纸牌游戏等。删除此类长期不用的系统组件,不但可以让系统更清爽,更重要的是还可以提高系统的运行速度,特别是对于硬件配置相对较低的上网本来说,尤其如此。接下来,笔者就给大家介绍一下如何删除Windows...

微软今天正式停止对windows 7的主流支持

微软今天正式停止对windows 7的主流支持

北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...

解决windows 7无法将程序锁定到任务栏或附到开始菜单的方法

解决windows 7无法将程序锁定到任务栏或附到开始菜单的方法

出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。 1、在开始搜索框中键入“regedit”,按回车键打开注册表编辑器。 2、依次定位到以下分支:HKEY_CLASSES_ROOTlnkfile。 3、在lnkfile项上鼠标右键单击“新建”——“字符串值”。...

windows7系统下让所有文件夹都使用同一种视图的方法

windows7系统下让所有文件夹都使用同一种视图的方法

Windows 7系统可以对每个文件夹进行个性化视图设置,可以根据自己的个人喜好和实际需要更改文件或文件夹图标的大小,或者让文件或文件夹以列表、平铺等方式显示。但是,假如你对N个文件夹视图进行了风格各异的个性设置,现在又想让所有文件夹都使用同一种视图怎么办呢 手工一个一个修改,你OUT了,非累得手抽...

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

微软为windows 7用户重新发布补丁KB2952664 帮助提升Win10升级体

1月13日消息,微软今天为Windows 7(SP1)用户重新推送了编号为KB2952664的更新补丁,该更新在官方KB知识库中的描述为“Windows 7系统升级兼容性更新”,用于帮助微软改进当前版本系统,提升升级到最新版Win10系统的体验。 这项更新还用于在系统中显示Windows10更新提...

windows 7/8/xp系统关闭自动播放功能禁止音频媒体自动播放

windows 7/8/xp系统关闭自动播放功能禁止音频媒体自动播放

Windows 7/8系统: 控制面板——自动播放——取消掉为所有媒体和设备设置自动播放 winXP系统: 开始—运行—gpedit.msc—计算机配置—管理模板—系统—关闭自动播放—已启用—所有驱动器—确定  关闭自动运行功能说明: 一旦您将媒体插入驱动器...