怎么让一个存储过程返回一个select结果和一个变量值

怎么让一个存储过程返回一个select结果和一个变量值

如何让一个存储过程返回一个select结果和一个变量值

我想搞一个向下对结果集进行翻页的存储过程,使用select语句的limit进行分页,每页显示20条记录,

首先我要获得这个select语句中的所有记录个数,注意是所有记录个数,而不是当前经过limit以后返回的,然后我要获得经过limit以后select返回的结果集,于是这个存储过程就必须返回一个结果集和一个变量,但是我如何让应用程序只通过一条SQL语句就获取到这两个结果呢。

  如果把不经过limit的select count(*)的结果作为一个字段加进经过limit的select语句里,那么不就产生了一大堆的相同值的冗余数据了吗,如果我不是每页显示20条记录而是显示很多的话,这个冗余就很大了,但是如果要使用两次SQL语句获取这两个值的话就失去了使用存储过程的意义了。

  我对存储过程理解还不深,有什么好方法吗,多谢了。



mysql中客户端获取服务端变量,也是通过select获取,存储过程也不例外。

所以也要2条SQL语句:

call proc1(@a)

select @a

与其这样,还不如直接先select count(*), 再取分页结果集




call p1(@A)

这样就能获取到存储过程返回的记录集了。

select @A

这样就得到记录总条数了。

怎么让一个存储过程返回一个select结果和一个变量值

相关文章:

你感兴趣的文章:

标签云: