MySql分页存储过程
来源:互联网 发布:社交网络 相似电影 编辑:程序博客网 时间:2024/05/18 10:32
begin
declare sTemp varchar(1000);
declare sSql varchar(4000);
declare sOrder varchar(1000);
declare s_primary_field varchar(100);
IF currpage<1 THEN
SET currpage=1;
END IF;
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 sql_calc_found_rows ', fieldname, ' from ', tablename, ' where ');
set sSql = concat(sSql, sCondition, sOrder, ' limit ?');
else
set sSql = concat('select sql_calc_found_rows ', fieldname, ' from ', tablename, sOrder, ' limit ?');
end if;
else
if instr(primary_field,'.')=0 then
set s_primary_field = primary_field;
else
set s_primary_field = substr(primary_field,inStr(primary_field,'.')+1,char_length(primary_field));
end if;
if sCondition <> '' then
set sSql = concat('select sql_calc_found_rows ', fieldname, ' from ', tablename);
set sSql = concat(sSql, ' where ', sCondition, ' and ', primary_field, sTemp);
set sSql = concat(sSql, '(tabtemp.', s_primary_field, ')', ' from (select ');
set sSql = concat(sSql, ' ', primary_field, ' from ', tablename, ' where ', sCondition,sOrder);
set sSql = concat(sSql, ' limit ', (currpage-1)*pagesize, ') as tabtemp)', sOrder);
set sSql = concat(sSql, ' limit ?');
else
set sSql = concat('select sql_calc_found_rows ', fieldname, ' from ', tablename);
set sSql = concat(sSql, ' where ', primary_field, sTemp);
set sSql = concat(sSql, '(tabtemp.', s_primary_field, ')', ' from (select ');
set sSql = concat(sSql, ' ', primary_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;
SET oRowsTotal=FOUND_ROWS();
IF currpage!=1 THEN
SET oRowsTotal=oRowsTotal+(currpage-1)*pagesize;
END IF;
end
- mysql 分页存储过程
- MySQL 分页存储过程
- MySql分页存储过程
- MySql分页存储过程
- MySql分页存储过程
- MySql分页存储过程
- MySql分页存储过程
- MySql分页存储过程
- Mysql分页存储过程
- Mysql分页存储过程
- Mysql分页存储过程
- MySql 分页存储过程
- mysql 分页存储过程
- MySQL分页存储过程
- MySql 分页存储过程
- mysql分页存储过程
- MySql 通用分页存储过程
- MySql分页存储过程1
- VC获取系统特殊文件夹的路径
- Oracle CBO 与 RBO
- 会计凭证概览和基础设置
- ajaxanywhere 总结
- 【转】 sybase数据库的锁
- MySql分页存储过程
- camera recorder
- Weblogic9.2配置JMS服务器
- CopyFileEx 函数
- struts2的doubleselect标签的使用
- 调用android自带模块
- 00.QT编程技巧.QString和QDateTime之间的相互转换
- 降低测试维护成本
- Android 调试桥