美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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://zsjierui.cn/article/cojesed.html

其他资讯