MySQL 分页存储过程的实际操作流程与代码

今天我们要和大家一起讨论的是MySQL 分页存储过程的实际操作流程与MySQL 分页存储的实际应用代码的描述,以下就是文章的主要内容描述。
首页 新闻资讯 行业资讯 MySQL 分页存储过程的实际操作流程与代码

以下的文章主要向大家描述的是MySQL 分页存储过程的实际操作流程,我们是以介绍其实际应用代码的方式来引出MySQL 分页存储过程的实际操作步骤,下面就是文章的主要内容的讲述,望你会有所收获。

DROP PROCEDURE IF EXISTS pr_pager;

复制

CREATE PROCEDURE pr_pager(  IN p_table_name VARCHAR(1024),   IN p_fields VARCHAR(1024),   IN p_page_size INT,   IN p_page_now INT,   IN p_order_string VARCHAR(128),   IN p_where_string VARCHAR(1024),   OUT p_out_rows INT   )  NOT DETERMINISTIC  SQL SECURITY DEFINER
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

COMMENT '分页存储过程'

BEGIN

定义变量

复制

DECLARE m_begin_row INT DEFAULT 0;  DECLARE m_limit_string CHAR(64);
  • 1.

  • 2.

 

MySQL 分页存储过程中的构造语句

复制

SET m_begin_row = (p_page_now - 1) * p_page_size;  SET m_limit_string = CONCAT(' LIMIT ', m_begin_row, ', ', p_page_size);  SET @COUNT_STRING = CONCAT('SELECT COUNT(*) INTO @ROWS_TOTAL FROM ', p_table_name, ' ', p_where_string);  SET @MAIN_STRING = CONCAT('SELECT ', p_fields, ' FROM ', p_table_name, ' ', p_where_string, ' ', p_order_string, m_limit_string);
  • 1.

  • 2.

  • 3.

  • 4.

预处理

复制

PREPARE count_stmt FROM @COUNT_STRING;  EXECUTE count_stmt;  DEALLOCATE PREPARE count_stmt;  SET p_out_rows = @ROWS_TOTAL;  PREPARE main_stmt FROM @MAIN_STRING;  EXECUTE main_stmt;  DEALLOCATE PREPARE main_stmt;  END
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

以上的相关内容就是对MySQL 分页存储过程的介绍,望你能有所收获。

【编辑推荐】

  1. 优化MySQL性能的“绝招”有哪些?

  2. MySQL被Oracle并购后的409个日日夜夜

  3. JDBC 连接MySQL数据库实战演示

  4. MySQL 事件调度器示例演示

  5. 实现MySQL数据库备份,很简单!

23    2010-06-04 14:18:10    MySQL 分页存储过程