以下的文章主要描述的是通用存储过程来对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分页查询通用存储过程的介绍,望你能有所收获。