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.shufengxianlan.com/qtweb/news43/452693.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联