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

数据库 MySQL
今天我们要和大家一起讨论的是MySQL 分页存储过程的实际操作流程与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 分页存储过程的介绍,望你能有所收获。

【编辑推荐】

  1. 优化MySQL性能的“绝招”有哪些?
  2. MySQL被Oracle并购后的409个日日夜夜
  3. JDBC 连接MySQL数据库实战演示
  4. MySQL 事件调度器示例演示
  5. 实现MySQL数据库备份,很简单!
责任编辑:佚名 来源: cnblogs
相关推荐

2010-05-26 14:55:43

MySQL存储过程

2010-06-07 17:30:16

MySQL配置SSL

2010-06-10 13:04:31

2010-06-04 10:31:05

tomcat MySQ

2010-04-07 13:02:14

Oracle 存储过程

2010-05-27 17:35:36

MYSQL DELET

2010-07-21 14:21:53

SQL Server存

2010-05-13 16:21:58

2010-05-19 10:37:06

MySQL expla

2010-08-05 14:50:23

DB2动态SQL

2010-05-25 16:31:23

MySQL配置

2010-05-17 11:26:49

MySQL 多级同步

2010-05-19 11:25:46

MySQL触发器

2010-05-27 14:35:25

MySQL批量导入

2010-05-28 17:32:11

MySQL命令导数据

2010-05-28 18:16:43

MySQL 操作日志

2010-05-18 10:07:01

MySQL命令

2010-05-17 13:28:15

MySQL 复制

2010-05-12 11:27:01

MySQL SQL

2010-05-18 09:40:01

MySQL修改表字段
点赞
收藏

51CTO技术栈公众号