我正在尝试使用存储过程创建分页,
当我尝试将1作为参数传递时,会得到0到14的记录。
当我传递2作为参数时,它给出0-30,当我传递2作为参数时,我想要15-30
create PROCEDURE abc(pageno INT)
BEGIN
DECLARE page_no int;
DECLARE rstarts int;
DECLARE rends int;
DECLARE userPage int;
set @userPage = pageno;
PREPARE STMT FROM
" SELECT * FROM primaryinfo LIMIT ?,? ";
SET @START =(@userPage - 1) * 15;
SET @LIMIT = @userPage * 15;
EXECUTE STMT USING @START, @LIMIT;
DEALLOCATE PREPARE STMT;
END或者有没有其他有效的解决方案..提前谢谢你
发布于 2014-02-17 17:14:48
不带语句的分页:
create PROCEDURE test(
IN first_rec integer,
IN rec_count integer
)
BEGIN
-- return --
SET @rownum=0;
SELECT * FROM (
SELECT
user.*, @rownum:=@rownum+1 AS rn FROM user
) t WHERE rn>=first_rec and rn<first_rec+rec_count;
END;;https://stackoverflow.com/questions/20043594
复制相似问题