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

MySQL分页查询通用存储过程的解剖

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

以下的文章主要向大家描述的是MySQL分页查询通用存储过程的实际应用,我在一个信誉度很好的网站找到一个关于MySQL分页查询通用存储过程的实际应用资料,拿出来供大家分享,望大家能有所收获。

前段时间没有给出SQLServer转到MySQL(和PHP搭配之更佳组合)的通用存储过程,本着共享的精神,为大家奉献这段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分页查询通用存储过程的描述,IT技术网itjs.cn整理分享给学习MySQL的朋友,希望大家喜欢这样的Mysql文章或资料。

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

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

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

分享给朋友:

“MySQL分页查询通用存储过程的解剖” 的相关文章

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

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

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

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

故障现象: Windows 7酷狗软件无声音,系统声音正常。 原因分析: 1. 查看酷狗软件设置 2. 查看系统设置 解决方案: 1. Windows 7操作方法 如图:查看是否处于禁音状态   Windows 7系统声音正常酷狗音乐无声音 2. 查看设置音频输出是否...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

Windows7截图出现黑屏导致截的图黑呼呼一片

Windows7截图出现黑屏导致截的图黑呼呼一片

最近一些Windows 7用户反馈说,自己在截屏的时候出现黑屏,导致自己截的图黑呼呼一片。这个问题该怎么解决?今天小编就为大家提供一个解决的方法。 步骤 1 在windows xp时代,很多用户都曾被视频截图后的“全黑图片”困扰。对此,在解决本地播放时出现的截图变黑问题,一般有两个方法可以用来解...

windows 7系统重装后卡在正在启动Windows开机界面怎么办

windows 7系统重装后卡在正在启动Windows开机界面怎么办

重装系统是我们面对许多电脑问题时的终极方法,不过重装系统也不意味着就能将全部的问题都修复。一些用户在重装系统后开机时,电脑卡在“正在启动Windows”开机界面上了,这要怎么解决呢? Windows 7系统重装后卡在开机界面的解决方法: 一、首先可以看看该故障出现的原因是否是因为启动了acp...

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04应用窗口列表在哪里?在ubuntu下打开个几个应用窗口最小化后怎么切换呢,应用窗口列表在哪里呢? 1、多打开几个chrome浏览器窗口。 2、然后都做最小化处理。 3、现在我们在桌面左边的面板上找到"左右两边有小白点"的chrome浏览器应用图标,这就是chr...