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

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

MySQL 分页存储过程的实际操作流程与代码(mysql存储过程分页查询)  分页存储过程 第1张

DROP PROCEDURE IF EXISTS pr_pager;

  1. CREATEPROCEDUREpr_pager(
  2. INp_table_nameVARCHAR(1024),
  3. INp_fieldsVARCHAR(1024),
  4. INp_page_sizeINT,
  5. INp_page_nowINT,
  6. INp_order_stringVARCHAR(128),
  7. INp_where_stringVARCHAR(1024),
  8. OUTp_out_rowsINT
  9. )
  10. NOTDETERMINISTIC
  11. SQLSECURITYDEFINER

COMMENT '分页存储过程'

BEGIN

定义变量

  1. DECLAREm_begin_rowINTDEFAULT0;
  2. DECLAREm_limit_stringCHAR(64);

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

  1. SETm_begin_row=(p_page_now-1)*p_page_size;
  2. SETm_limit_string=CONCAT('LIMIT',m_begin_row,',',p_page_size);
  3. SET@COUNT_STRING=CONCAT('SELECTCOUNT(*)INTO@ROWS_TOTALFROM',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. PREPAREcount_stmtFROM@COUNT_STRING;
  2. EXECUTEcount_stmt;
  3. DEALLOCATEPREPAREcount_stmt;
  4. SETp_out_rows=@ROWS_TOTAL;
  5. PREPAREmain_stmtFROM@MAIN_STRING;
  6. EXECUTEmain_stmt;
  7. DEALLOCATEPREPAREmain_stmt;
  8. END

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

【编辑推荐】

  1. 优化MySQL性能的“绝招”有哪些?
  2. MySQL被Oracle并购后的409个日日夜夜
  3. JDBC 连接MySQL数据库实战演示
  4. MySQL 事件调度器示例演示
  5. 实现MySQL数据库备份,很简单!
转载请说明出处
知优网 » MySQL 分页存储过程的实际操作流程与代码(mysql存储过程分页查询)

发表评论

您需要后才能发表评论