`

mysql 存储过程写分页程序

阅读更多

/*分页程序*/

delimiter //

drop procedure if exists sp_page;

create procedure sp_page(

 p_table_name varchar(1024),

 p_fields varchar(1024),

 p_page_size int,

 p_curr_page int,

 p_order_string varchar(256),

 p_where_string varchar(1024),

 out p_total_rows int

 )

 

 not deterministic

 sql security definer

 comment '分页存储过程'

 

 begin

 

   /*变量的申明*/

   declare v_start_row int default 0;

   declare v_limit_string varchar(256);

 

  /*给变量赋值*/

  if p_curr_page<1 then

    set p_curr_page = 1;

  end if;

 

  set @rows_total = 0;

  set v_start_row = (p_curr_page-1)*p_page_size;

  set v_limit_string = concat(' limit ',v_start_row,',',p_page_size);

 

  set @total_string = concat('select count(*) into @rows_total from ',p_table_name,' ',p_where_string);

  set @query_string = concat('select ',p_fields,' from ',p_table_name,' ',p_where_string,' ',

  p_order_string,' ',v_limit_string);

 

  select @total_string;

  select @query_string;

 

  /*预处理*/

  prepare stmt_count from @total_string;

  execute stmt_count;

  deallocate  prepare stmt_count;

 

  set p_total_rows= @rows_total;

 

  prepare stmt_query from @query_string;

  execute stmt_query;

  deallocate prepare stmt_query;

 

 

  end;//

 

 

调用存储过程

 

参数含义

表的名字 要查询的字段  每页显示的记录数  当前的页码  总记录数

call sp_page('t_score','*',10,1,'','', @total_rows)//

 

 

 

 

分享到:
评论

相关推荐

    mysql存储过程通用分页

    本篇文章将深入探讨MySQL存储过程在实现通用分页中的应用。 首先,让我们理解什么是分页。分页是数据库查询结果的一种展示方式,它将大量的数据分成若干个小部分,每次只显示一部分,这样用户可以逐页浏览,避免一...

    MySql 分页存储过程以及代码调用

    本篇文章将深入探讨MySQL中的分页存储过程及其代码调用方法。 首先,理解分页的基本概念。在网页或应用程序中,我们通常会看到“上一页”、“下一页”这样的导航,这就是分页的表现形式。分页查询通过设置每页显示...

    MYSQL分页存储过程

    通过上述示例,我们可以看到,使用MySQL存储过程实现分页查询不仅能够提高查询效率,还能简化应用程序逻辑,增强系统的可维护性和可扩展性。然而,设计存储过程时也需要注意安全性,避免SQL注入等风险,确保数据库...

    c#编写无存储过程简单分页程序

    本教程将深入讲解如何使用C#编写一个不依赖存储过程的简单分页程序。虽然标题提及了存储过程,但我们将主要关注无存储过程的解决方案,因为这种方法允许更高的灵活性和更好的数据库无关性。 1. **理解分页概念**: ...

    ASP.NET 存储过程分页

    ASP.NET 存储过程分页是一种在Web应用中实现高效数据检索的技术,它结合了数据库存储过程和分页策略,以提高性能并减轻服务器负担。在这个主题中,我们将深入探讨如何在ASP.NET环境中利用存储过程来实现数据的分页...

    简单应用存储过程分页程序

    1. MySQL中的存储过程分页: 在MySQL中,我们可以创建一个存储过程,接收两个参数,分别是每页显示的记录数(limit_size)和当前页数(page_number),然后根据这两个参数计算OFFSET值,构造LIMIT语句进行分页查询...

    MySQL 百万级分页优化(Mysql千万级快速分页)

    ### MySQL 百万级分页优化(Mysql千万级快速分页) #### 背景与挑战 在处理大规模数据集时,例如拥有数百万乃至数千万条记录的数据库表,传统的分页查询方法可能会遇到性能瓶颈。特别是使用`LIMIT`进行分页时,随着...

    SQL高效存储过程分页

    当我们谈论“SQL高效存储过程分页”时,我们主要关注如何利用存储过程来实现数据库查询的分页效果,这在大数据量的场景下尤为重要,因为直接查询所有数据可能会导致性能下降,甚至阻塞数据库服务。 分页是Web应用...

    IBatisNet-执行存储过程-mysql 请点击分页按钮

    综上所述,通过IBatisNet框架,我们可以轻松地在.NET应用程序中调用MySQL存储过程,实现分页查询功能。同时,利用正则表达式工具可以增强数据验证和处理的灵活性。在实际项目中,这些技术的结合使用能够帮助我们构建...

    效率高的分页存储过程实现的分页

    本文将深入探讨如何通过使用存储过程来实现高效的分页存储过程,特别是针对ASP.NET应用程序。 标题 "效率高的分页存储过程实现的分页" 提到的是一种优化数据检索的技术。在ASP.NET开发中,GridView控件是常用的数据...

    万能存储过程分页,搞效率分页

    "万能存储过程分页"是一个针对高效数据分页的解决方案,它旨在优化查询性能,减少数据库负载,同时提供流畅的用户体验。下面将详细讨论存储过程、分页原理以及如何提高分页效率。 首先,存储过程是预编译的SQL语句...

    asp.net(GridView)存储过程分页源码

    例如,存储过程可能包含`OFFSET`和`FETCH NEXT`(在SQL Server中)或者`LIMIT`和`OFFSET`(在MySQL中)来获取指定范围的记录。 2. **GridView控件**: GridView是ASP.NET中常用的数据绑定控件,能够显示来自数据源...

    存储过程实现分页

    通过存储过程实现分页查询,不仅能够提高数据库操作的效率,还能够简化应用程序中的分页逻辑,减少网络传输的负担。在大型系统或高并发场景下,合理的分页策略对于提升用户体验和降低服务器压力具有重要意义。上述...

    mysql 分页例子

    MySQL 分页是数据库查询中非常常见的一种操作,特别是在网页或者应用程序中展示大量数据时,为了提高用户体验,通常会采用分页的方式将数据分批显示。本篇将详细讲解MySQL分页的基本原理、语法以及实际应用。 一、...

    php+mysql+mysql+mysql 无刷新评论分页

    MySQL是关系型数据库管理系统,用于存储和管理数据,如用户评论。在这个案例中,可能存在一个或多个表来存储评论信息,包括评论内容、作者、时间戳等字段。使用SQL查询,PHP可以从数据库中提取特定页面的评论,实现...

    基于AJAX PHP MYSQL的无刷新分页工具的研究与实现.pdf

    在Web程序开发中,分页是一项重要的功能,特别是在处理大量数据时,分页能够有效地提高用户体验和系统性能。传统的分页方式通常伴随着整个页面的刷新,然而在某些场景下,如播放视频、实时聊天等,页面刷新会导致...

    分页存储过程整理(三种方法)

    这里我们将深入探讨标题中提到的三种分页存储过程方法:拼接字符串、SQL Server 2005 的 `TOP (表达式)` 功能以及利用 `ROW_NUMBER()` 函数。 1. **拼接字符串**: 在早期的SQL版本中,由于缺乏内置的分页功能,...

    JAVA 运用存储过程的分页

    例如,一个简单的MySQL存储过程可能如下所示: ```sql CREATE PROCEDURE GetPagedData(IN start INT, IN limit INT) BEGIN SELECT * FROM your_table LIMIT start, limit; END ``` 其中,`start`参数代表起始...

    用java写的分页程序

    这个“用Java写的分页程序”是一个实用的示例,它展示了如何在Java环境下实现基本的分页功能。 在Java中,我们可以使用多种方式来实现分页。一种常见的方式是通过JDBC(Java Database Connectivity)直接与数据库...

    c# bs,cs都能使用的存储过程分页代码

    这里我们关注的焦点是"C# BS,CS都能使用的存储过程分页代码",这表明我们讨论的是一种跨平台、跨架构的分页解决方案。BS通常指的是Browser/Server(浏览器/服务器)模式,而CS则是Client/Server(客户端/服务器)...

Global site tag (gtag.js) - Google Analytics