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

DROP PROCEDURE IF EXISTS pr_pager;

    CREATEPROCEDUREpr_pager( INp_table_nameVARCHAR(1024), INp_fieldsVARCHAR(1024), INp_page_sizeINT, INp_page_nowINT, INp_order_stringVARCHAR(128), INp_where_stringVARCHAR(1024), OUTp_out_rowsINT ) NOTDETERMINISTIC SQLSECURITYDEFINER

COMMENT ‘分页存储过程’

BEGIN

定义变量

    DECLAREm_begin_rowINTDEFAULT0; DECLAREm_limit_stringCHAR(64);

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

    SETm_begin_row=(p_page_now-1)*p_page_size; SETm_limit_string=CONCAT('LIMIT',m_begin_row,',',p_page_size); SET@COUNT_STRING=CONCAT('SELECTCOUNT(*)INTO@ROWS_TOTALFROM',p_table_name,'',p_where_string); SET@MAIN_STRING=CONCAT('SELECT',p_fields,'FROM',p_table_name,'',p_where_string,'',p_order_string,m_limit_string);

预处理

    PREPAREcount_stmtFROM@COUNT_STRING; EXECUTEcount_stmt; DEALLOCATEPREPAREcount_stmt; SETp_out_rows=@ROWS_TOTAL; PREPAREmain_stmtFROM@MAIN_STRING; EXECUTEmain_stmt; DEALLOCATEPREPAREmain_stmt; END

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

【编辑推荐】

    优化MySQL性能的“绝招”有哪些?MySQL被Oracle并购后的409个日日夜夜JDBC 连接MySQL数据库实战演示MySQL 事件调度器示例演示实现MySQL数据库备份,很简单!