首页 > 代码库 > 分页的存储过程实例

分页的存储过程实例

delimiter $$

create procedure pro_student(in curPage int,in pageSize int ,out tolPage int,out tolNum int)

begin

-- 声明一个显示该条数的变量

declare total int default 0;

-- 从t_student中获得总条数,并赋值给tolNum

select count(*) into tolNum from t_student;

-- 根据总条数和每页的条数获得总页数

set tolPage:=ceil(tolNum/pageSize);

-- 利用当前页数和每页的条数获得显示的条数的值

set toltal:=(curPage-1)*pageSize;

-- 最后利用limit查找学生,查找到的学生集合就是想要的了

select * from t_student limit toltal,pageSize;

end $$

-- 对于存储过程中的输出参数需要利用用户变量获得

set @tolPage,@tolNum;

-- 调用存储过程

call pro_student(1,3,@tolPage,@tolNum);

-- 显示总页数和总条数

select @tolPage,@tolNum;

分页的存储过程实例