RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
MySQL分页存储过程的实际操作流程与代码

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

DROP PROCEDURE IF EXISTS pr_pager;

 
 
 
  1. CREATE PROCEDURE pr_pager(  
  2. IN p_table_name VARCHAR(1024),   
  3. IN p_fields VARCHAR(1024),   
  4. IN p_page_size INT,   
  5. IN p_page_now INT,   
  6. IN p_order_string VARCHAR(128),   
  7. IN p_where_string VARCHAR(1024),   
  8. OUT p_out_rows INT   
  9. )  
  10. NOT DETERMINISTIC  
  11. SQL SECURITY DEFINER  

COMMENT '分页存储过程'

BEGIN

定义变量

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

 

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

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

预处理

 
 
 
  1. PREPARE count_stmt FROM @COUNT_STRING;  
  2. EXECUTE count_stmt;  
  3. DEALLOCATE PREPARE count_stmt;  
  4. SET p_out_rows = @ROWS_TOTAL;  
  5. PREPARE main_stmt FROM @MAIN_STRING;  
  6. EXECUTE main_stmt;  
  7. DEALLOCATE PREPARE main_stmt;  
  8. END  

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


本文名称:MySQL分页存储过程的实际操作流程与代码
标题来源:http://www.jxjierui.cn/article/cojesed.html