测试表
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) NOT NULL auto_increment,
`sort` int(11)
`title` varchar(50),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=1 ;
存储过程代码
DELIMITER $$;
DROP PROCEDURE IF EXISTS `sp_page`$$
CREATE PROCEDURE `sp_page`(
in _pagecurrent int,/*当前页*/
in _pagesize int,/*每页的记录数*/
in _ifelse varchar(1000),/*显示字段*/
in _where varchar(1000),/*条件*/
in _order varchar(1000)/*排序*/
)
COMMENT '分页存储过程'
BEGIN
if _pagesize<=1 then
set _pagesize=20;
end if;
if _pagecurrent < 1 then
set _pagecurrent = 1;
end if;
set @strsql = concat('select ',_ifelse,' from ',_where,' ',_order,' limit ',_pagecurrent*_pagesize-_pagesize,',',_pagesize);
prepare stmtsql from @strsql;
execute stmtsql;
deallocate prepare stmtsql;
set @strsqlcount=concat('select count(1) as count from ',_where);/*count(1) 这个字段最好是主键*/
prepare stmtsqlcount from @strsqlcount;
execute stmtsqlcount;
deallocate prepare stmtsqlcount;
END$$
DELIMITER ;$$
调用代码
调用例1 call sp_Page(1,3,'*','test','order by id desc');
调用例2 call sp_Page(1,3,'*','test where sort=1','order by id desc');
调用例3 call sp_Page(1,3,'id,title','test where sort=1','order by id desc');
分享到:
相关推荐
### MySQL存储过程实现分页 #### 背景与需求 在数据库操作中,分页是一种常见的需求,尤其是在处理大量数据时。通过分页技术,可以有效地减少每次查询的数据量,提高系统的响应速度和用户体验。MySQL作为一种广泛...
本篇文章将深入探讨MySQL中的分页存储过程及其代码调用方法。 首先,理解分页的基本概念。在网页或应用程序中,我们通常会看到“上一页”、“下一页”这样的导航,这就是分页的表现形式。分页查询通过设置每页显示...
Mysql分页通用存储过程
通用Mysql分页存储过程,支持多表查询。
### MySQL分页存储过程概述 分页存储过程是一种在数据库层面上实现数据分页的技术。相比应用程序级别的分页,它能更高效地处理数据,减少网络传输的数据量,提升系统性能。在MySQL中,我们可以通过创建存储过程来...
针对mysql分页的一个存储过程,可以动态传入表名,可带查询条件,可带排序列
通过上述分析可以看出,这个MySQL分页存储过程实现了灵活且高效的分页查询功能。它不仅能够根据用户提供的参数动态地构建查询语句,还能够处理排序、分组等复杂需求。对于需要频繁进行分页查询的应用场景来说,这种...
例如,一个典型的分页存储过程可能接收两个输入参数:@PageSize(每页记录数)和@PageNumber(当前页号),并返回相应的数据。 接下来,我们讨论分页的实现步骤: 1. **创建存储过程**:在数据库中编写一个存储...
mysql通用存储过程sql脚本,支持多表,子查询,高级查询 分页
本文将详细解析"经典的分页、排序SQL 通用存储过程"所涉及的知识点,并给出如何实现这样的存储过程。 首先,分页是数据库查询中的一种优化策略,用于限制每次查询返回的结果数量,从而避免一次性加载大量数据导致的...
在处理大量数据时,特别是涉及多表查询的情况,使用存储过程进行分页可以显著提升性能。本文将深入探讨如何利用存储过程实现多表分页,并分享一些最佳实践。 一、分页基础 分页是网页展示大量数据时常见的技术,它...
下面是一个基于MySQL的例子,展示了一个通用的分页存储过程: ```sql DELIMITER // CREATE PROCEDURE GetPagedData(IN page INT, IN pageSize INT, IN tableName VARCHAR(255), IN orderColumn VARCHAR(255)) BEGIN...
在分页场景下,我们可以创建一个接受参数(如每页记录数和当前页数)的存储过程,返回特定页的数据。例如,存储过程可能包含`OFFSET`和`FETCH NEXT`(在SQL Server中)或者`LIMIT`和`OFFSET`(在MySQL中)来获取指定...
总结,通用的存储过程SQL分页查询语句是数据库开发中的重要工具,它结合了存储过程的复用性和SQL的灵活性,可以高效地处理大数据量的分页查询。通过选择适当的分页方法和优化策略,我们可以进一步提升查询性能,提供...
这里的"accss,mysql,asp通用分页,自定义分页样式"就是一个关于如何在ASP(Active Server Pages)环境下,结合Access和MySQL数据库实现分页功能,并且自定义分页样式的主题。 首先,让我们从数据库层面理解。...
"万能存储过程分页"是一个针对高效数据分页的解决方案,它旨在优化查询性能,减少数据库负载,同时提供流畅的用户体验。下面将详细讨论存储过程、分页原理以及如何提高分页效率。 首先,存储过程是预编译的SQL语句...
本篇文章将介绍一个通用的MySQL分页查询存储过程,适用于多种情况,帮助开发者实现高效的数据检索。 首先,我们需要创建一个存储过程。在MySQL中,存储过程是一组预先编译的SQL语句,可以被多次调用,提高了代码的...
本通用分页存储过程经过我的验证,可以使用,支持联表查询,支持单表查询,效率我没测过太多,应该还可以。有需要的拿去用。 如果测试出效率,我们可以交流交流
非常好用的mysql存储过程,支持大并发,很稳定,绝对原创,你值得拥有!
更改语句结束符号 delimiter$$ 查看存储过程结构 show create procedure proc_name