存储过程基础(三)实现sql分页
本文的主要内容是通过存储过程实现sql页面。
为了方便演示,在数据库中创建了一张USER表,如下:
接下来,结合这张表,通过存储过程实现sql页面。要求该存储过程有三个参数,一个参数为页数,一个参数为每页的条数,第三个参数为输出参数代表总页数。最后将根据输入的参数将查询到的记录和总页数进行显示,代码如下:
上文的例子,在编写的过程中,需要注意以下几点:
- 获取总页数的时候,由于得到的可能是小数,所以要用向上取整的函数ceiling;
- 由于两个整数相除得到的也是整数,所以应该将其中一个乘以1.0;
- 实现分页要用到row_number函数,对表进行重新排序,然后在进行分页。这种做法更可靠。
- 如果想做的更通用,可以在增加一个输入参数,这个参数用来传递表名,这样就可以对任意表进行分页了。