CREATE TABLE `ttt` ( `a` int(11) NOT NULL DEFAULT '0', `b` varchar(6) DEFAULT NULL, PRIMARY KEY (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `ttt` VALUES (1, '2'); INSERT INTO `ttt` VALUES (2, '4'); INSERT INTO `ttt` VALUES (3, '3'); CREATE DEFINER=`root`@`localhost` PROCEDURE `pr_pager`( IN p_table_name VARCHAR(1024),/*表名*/ IN p_fields VARCHAR(1024),/*查询字段*/ IN p_page_size INT,/*每页记录数*/ IN p_page_now INT,/*当前页*/ IN p_order_string VARCHAR(128),/*排序条件(包含ORDER关键字,可为空)*/ IN p_where_string VARCHAR(1024),/*WHERE条件(包含WHERE关键字,可为空)*/ OUT p_out_rows INT/*输出记录总数*/ ) COMMENT '分页存储过程' BEGIN /*定义变量*/ DECLARE m_begin_row INT DEFAULT 0; DECLARE m_limit_string CHAR(64); /*构造语句*/ SET m_begin_row = (p_page_now - 1) * p_page_size; SET m_limit_string = CONCAT(' LIMIT ', m_begin_row, ', ', p_page_size); SET @COUNT_STRING = CONCAT('SELECT COUNT(*) INTO @ROWS_TOTAL FROM ', 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); /*预处理*/ PREPARE count_stmt FROM @COUNT_STRING; EXECUTE count_stmt; DEALLOCATE PREPARE count_stmt; SET p_out_rows = @ROWS_TOTAL; PREPARE main_stmt FROM @MAIN_STRING; EXECUTE main_stmt; DEALLOCATE PREPARE main_stmt; END call pr_pager("ttt","a",3,1, "","",@result);
相关推荐
MYSQL分页存储过程 非常实用的东西哦 希望大家能用上
MySql 分页 存储过程 MySql 分页 存储过程 MySql 分页 存储过程
近期项目中用到的分页存储过程,希望对大家有帮助。
通用Mysql分页存储过程,支持多表查询。
Mysql分页通用存储过程
非常好用的mysql存储过程,支持大并发,很稳定,绝对原创,你值得拥有!
mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页
经测试,在 14483461 条记录中查询第 100000 页,每页 10 条记录按升序和降序第一次时间均为 0.47 秒,第二次时间均为 0.43 秒; 再生产环境中非常实用,帮助你解决线上数据库卡顿问题。
mysql分页存储过程mysql分页存储过程mysql分页存储过程mysql分页存储过程
本通用分页存储过程经过我的验证,可以使用,支持联表查询,支持单表查询,效率我没测过太多,应该还可以。有需要的拿去用。 如果测试出效率,我们可以交流交流
NULL 博文链接:https://zhaoshijie.iteye.com/blog/1270970
改造过的mysql版本的分页存储过程,严格测试,绝对好用.适合大型项目使用.
MySQL存储过程编写总结文档,包括循环结构样式,创建临时表,删除数据,MySQL分页,动态存储过程编写
详细地介绍MYSQL命令行下,编写存储过程以及存储过程的调用,附带分页存储过程的详细代码,本人已经测过。
mysql通用存储过程sql脚本,支持多表,子查询,高级查询 分页
BEGIN declare date_str varchar(8);declare table_prefix varchar(20);set table_prefix=’mail_rare_visit_’;set date_str = DATE_FORMAT(CURRENT_DATE(),’%Y%m%d’);set @table_name = concat(table_prefix, ...
MySQL分页查询通用存储过程的代码总结
ORACLE和mssql 高效的分页存储过程,均通用,直接调用即可
使用存储过程进行分页,适合多表 使用存储过程进行分页,适合多表