mysql limit 占位符_mysql 存储过程中 limit之后使用分页变量,传入分页参数. 类似于微博游标分批次获取信息;问号参数类似于c#的string.format;问号占位符...

DELIMITER $$

USE `data`$$

DROP PROCEDURE IF EXISTS `fn_json_GetTeachnew`$$

CREATE DEFINER=`root`@`%` PROCEDURE `fn_json_GetTeachnew`(

p_Aid VARCHAR(64),

p_Cursor INT,

p_Newtype VARCHAR(64))

BEGIN

DECLARE ssql VARCHAR(100);

DECLARE pageSize INT;

DECLARE limitCount INT;

DECLARE tempCount INT;

DECLARE p_Next_Cursor VARCHAR(64);

SET pageSize=20;

SET p_Next_Cursor='';

SET limitCount=p_Cursor*pageSize;

DROP TEMPORARY TABLE IF EXISTS tmp_table_GetTeachnew;

CREATE TEMPORARY TABLE tmp_table_GetTeachnew

SELECT `NewId`,`Title`,`Content`,`PicUrl`,`NewTypeTitle` AS NewType,`PublishDate`,`IsHot`

FROM `tb_fdt_new_teachnew` t INNER JOIN `tb_fdt_new_newtype` n

WHERE t.`AgentId`=p_Aid

AND t.`NewType`=n.`NewType`

AND n.`NewTypeTitle`=p_Newtype

ORDER BY PublishDate DESC;

SET tempCount=(SELECT COUNT(*) FROM tmp_table_GetTeachnew); -- 统计看有多少新闻,然后看看你这次获取了之后,下次还能不能获取,如果下次能获取,返回数字,不能获取返回空

IF(tempCount>p_Cursor*pageSize+pageSize) THEN

SET p_Next_Cursor=p_Cursor+1;

END IF;

SET ssql="SELECT g.*,? as nextCursor FROM tmp_table_GetTeachnew g LIMIT ?,?";

SET @query=p_Next_Cursor;

SET @fvar=limitCount;

SET @svar=pageSize;

SET @SQUERY=ssql;

PREPARE STMT FROM @SQUERY;

EXECUTE STMT USING @query,@fvar,@svar;

END$$

DELIMITER ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值