Mysql分页存储过程

记下来 以后要用直接过来copy了

http://blog.csdn.net/xugangjava


CREATE DEFINER=`root`@`localhost` PROCEDURE `pageSplit`(
  fromWhere varchar(50),
  selectColum varchar(500),
  orderBy varchar(100),
  conditions varchar(500),
  curPage int,
  pageSize int,
  OUT totalCount int)
BEGIN
 DECLARE countSQL varchar(1200);
  DECLARE selectSQL varchar(1200);
  IF conditions!='' THEN
    SET conditions=concat(' where ',conditions);
  END IF;
  
  SET countSQL=concat('select count(1) into @recordcount from ',fromWhere,conditions);
  SET @sqlCount:=countSQL;
  PREPARE stmt FROM @sqlCount;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
  SET totalCount:=@recordcount;
  IF curPage<1 THEN
    SET curPage=1;
  END IF;
  IF pageSize<1 THEN
    SET pageSize=1;
  END IF;
  IF orderBy!='' THEN
    SET orderBy=concat(' order by ',orderBy);
  END IF;


  SET selectSQL=concat('select '
  ,selectColum,
  ' from ',fromWhere
  ,conditions,' '
  ,orderBy,' limit '
  ,(curPage-1)*pageSize
  ,',',pageSize, ' ');
  SET @sqlSelect:=selectSQL;
  PREPARE stmtselect FROM @sqlSelect;
  EXECUTE stmtselect;
  DEALLOCATE PREPARE stmtselect;
END


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值