Chinaunix首页 | 论坛 | 博客
  • 博客访问: 75468
  • 博文数量: 15
  • 博客积分: 305
  • 博客等级: 二等列兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-10 11:42
文章分类

全部博文(15)

文章存档

2013年(2)

2012年(7)

2011年(1)

2010年(1)

2009年(4)

我的朋友

分类: Mysql/postgreSQL

2009-12-10 11:57:20

根据条件分页显示海量数据

调用:call test(1,10,10179,'0701')

执行时间: 0.188ms

CREATE PROCEDURE `test`(
 in _pagecurrent int,
 in _pagesize int,
 in INPHONEMODNO varchar(10),
 in INSecondTypeID varchar(10)
)
BEGIN
declare _order varchar(500);
declare _where varchar(1000);
set _order=' order by PRODCODE desc';
set _where=concat('CONVERT(SecondTypeID using utf8)=',"'",CONVERT(INSecondTypeID using utf8),"'",' and  MATCH (PHONEMODNO) AGAINST ',CONCAT("('",CONVERT(INPHONEMODNO using utf8),"')"));
 if _pagesize<=1 then
  set _pagesize=20;
 end if;
 if _pagecurrent < 1 then
  set _pagecurrent = 1;
 end if;
 set @strsql = concat('select PRODCODE,PRODNAME,PRODENAME,PRODSPELL,SUPCODE,ProdPrice,0 as Integral,ProdImg,ProdMovie,FileSize,FilePath,ZY  from xa_dg_prodinfo where ' ,_where,_order,' limit ',_pagecurrent*_pagesize-_pagesize,',',_pagesize);
 prepare stmtsql from @strsql;
 execute stmtsql;
 deallocate prepare stmtsql;
 set @strsqlcount=concat('select count(*) as count from xa_dg_prodinfo where ',_where);
 prepare stmtsqlcount from @strsqlcount;
 execute stmtsqlcount;
 deallocate prepare stmtsqlcount;
END

返回两个结果集,一条为查询数据集,另一条为总条数.

阅读(850) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~