`
zhengpingling
  • 浏览: 13083 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

按页查询记录的存储结构

 
阅读更多
CREATE PROCEDURE `page`(
in currpage      int,
in columns       varchar(500),
in tablename     varchar(500),
in sCondition    varchar(500),
in order_field   varchar(100),
in asc_field     int,
in primary_field varchar(100),
in pagesize      int
)
begin
    declare sTemp  varchar(1000);
    declare sSql   varchar(4000);
    declare sOrder varchar(1000);
   
    if asc_field = 1 then
        set sOrder = concat(' order by ', order_field, ' desc ');
        set sTemp  = '<(select min';
    else
        set sOrder = concat(' order by ', order_field, ' asc ');
        set sTemp  = '>(select max';
    end if;
   
    if currpage = 1 then
        if sCondition <> '' then
            set sSql = concat('select ', columns, ' from ', tablename, ' where ');
            set sSql = concat(sSql, sCondition, sOrder, ' limit ?');
        else
            set sSql = concat('select ', columns, ' from ', tablename, sOrder, ' limit ?');
        end if;
    else
        if sCondition <> '' then
            set sSql = concat('select ', columns, ' from ', tablename);
            set sSql = concat(sSql, ' where ', sCondition, ' and ', primary_field, sTemp);
            set sSql = concat(sSql, '(', primary_field, ')', ' from (select ');
            set sSql = concat(sSql, ' ', primary_field, ' from ', tablename, sOrder);
            set sSql = concat(sSql, ' limit ', (currpage-1)*pagesize, ') as tabtemp)', sOrder);
            set sSql = concat(sSql, ' limit ?');
        else
            set sSql = concat('select ', columns, ' from ', tablename);
            set sSql = concat(sSql, ' where ', primary_field, sTemp);
            set sSql = concat(sSql, '(', primary_field, ')', ' from (select ');
            set sSql = concat(sSql, ' ', primary_field, ' from ', tablename, sOrder);
            set sSql = concat(sSql, ' limit ', (currpage-1)*pagesize, ') as tabtemp)', sOrder);
            set sSql = concat(sSql, ' limit ?');
        end if;
    end if;
    set @iPageSize = pagesize;
    set @sQuery = sSql;
    prepare stmt from @sQuery;
    execute stmt using @iPageSize;
end;
分享到:
评论

相关推荐

    C++通讯录 添加记录 按名字查询记录 按电话号码查询记录 删除记录 修改记录 保存记录 读入记录 上一页与下一页 第一页与最后一页 退出文件等等

    这个系统具备多种功能,包括添加联系人记录、按名字或电话号码查询记录、删除记录、修改已有记录、保存记录到文件、从文件读取记录以及浏览记录的上一页、下一页、第一页和最后一页。下面我们将逐一探讨这些功能的...

    InnoDB记录存储结构1

    《InnoDB记录存储结构解析》 在MySQL的世界里,存储引擎是数据库管理的核心组件,它负责数据的存储和检索。其中,InnoDB是最常见的存储引擎,以其事务安全性和高性能著称。本文将深入探讨InnoDB的记录存储结构,...

    mdb库结构记录保存.rar

    标题中的“mdb库结构记录保存.rar”指的是一个压缩文件,其中包含了关于Microsoft Access数据库(mdb文件)的结构和记录保存的相关信息。mdb文件是Access数据库的默认格式,用于存储数据表、查询、报表、模块等...

    易语言mdb库结构记录保存

    在“易语言mdb库结构记录保存”这个主题中,我们主要探讨的是如何使用易语言来处理Microsoft Access的mdb数据库文件,包括获取数据库结构、保存记录以及与XML文件的交互。 首先,mdb文件是Microsoft Access数据库的...

    查询记录(c语言课程设计)

    【查询记录(C语言课程设计)】的课程设计旨在训练学生的基本编程能力,特别是C语言的文件操作和结构数组的应用。这个工资管理系统是一个重要的实践项目,它涵盖了数组、结构体、文件操作等核心概念,帮助学生深入理解...

    文件的逻辑结构与存储结构转换源代码

    把文件的逻辑结构转换成存储结构,设计便于顺序存取和直接存取的文件存储结构。 为了提高存储空间的利用...但这些存放逻辑记录的存储空间不是按链表的形式链接在一起的,而是采用索引表来指出逻辑记录存放的物理位置。

    DB2 存储结构,编目与数据库创建

    数据被分割成页并存储在磁盘上,每个页通常包含多个记录。DB2支持多种存储类型,如堆表存储(Heap)、索引组织表(Index-Organized Table, IOT)和分区表等。 1. **堆表存储**:这是最基础的存储方式,数据按照插入...

    数据结构主要书存储结构

    记录的存储结构包括位置技术、关系技术、计数技术等,它们决定了数据如何在物理块上分配和组织。记录的分配方式有连续分配、链接分配、簇集分配和索引分配,每种方式都有其适用场景和优缺点。例如,连续分配适合小...

    数据结构栈链式存储结构

    在实际编程中,我们通常使用链式存储来实现栈,因为这种结构提供了更大的灵活性。 栈的链式存储结构与数组存储相比,有其独特的优势。数组存储栈时,空间是连续的,预设大小一旦确定,难以动态扩展;而链式存储则...

    易语言源码易语言mdb库结构记录保存源码.rar

    6. 文件操作:在保存结构信息时,需要使用易语言的文件操作函数,如创建文件、写入文件等。 7. 用户界面:如果源码包含用户界面,可能会有事件驱动的编程模式,用户通过界面触发数据读取和保存的操作。 学习并理解...

    宿舍管理查询系统(数据结构)

    - 查询操作:实现各种查询功能,如按宿舍号查找、按学生姓名查找等,这涉及到遍历数据结构的算法。 - 插入和删除操作:如学生入住、退宿的处理,需要考虑如何高效地修改数据结构。 - 文件操作:保存和读取数据到磁盘...

    MySQL数据结构-页结构.pdf

    supremum 最⼩与最⼤记录,是虚拟记录 User Records 真正存数据的地⽅:以链表的形式存储⼀条条⾏记录 Free Space 存数据空间中尚未使⽤的区域 Page Directory 页⽬录:页中某些记录的相对位置,⽤于提升查询效率 ...

    Oracle的数据存储结构

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它的数据存储结构是理解其高效运作的基础。在Oracle中,数据被组织成逻辑和物理两层结构,以实现高效的数据管理和检索。 首先,我们从逻辑结构的角度来...

    索引的存储结构与方式

    综上所述,索引的存储结构与方式是数据库设计和优化的重要组成部分,理解并合理利用各种索引类型和存储策略,能够显著提升数据查询效率,为应用程序提供更好的性能体验。在实际工作中,数据库管理员和开发人员需要...

    数据库的存储结构文件记录的组织和索引技术.doc

    数据库存储结构文件记录的组织和索引技术 在探讨数据库存储结构时,我们需要了解数据库的组成部分,即逻辑、物理和性能特征。数据库系统(DBS)由多个物理和逻辑对象组成,包括表、视图、索引和模式、锁、触发器、...

    数据结构课程设计-家族关系查询(源码 实验报告).rar

    在数据结构方面,家族关系查询可能使用了多种数据结构来存储和管理家族信息。常见的数据结构可能包括数组、链表、树(如二叉树、AVL树或B树)和图。数组可以用于存储线性关系,链表则适用于动态添加和删除成员,而树...

    搜索历史记录存储工具类

    总结起来,这个"搜索历史记录存储工具类"涉及到的技术点包括数据存储(如SQLite、文件系统)、数据结构(如列表、数据库表)、排序算法、数据安全以及UI设计和测试。理解并掌握这些知识点对于开发一个功能完善的搜索...

    SQL Server 2000完结篇系列之二:彻底掌握SQL Server 2000体系结构(二)-存储结构

    在深入理解其体系结构时,存储结构是不可或缺的部分。本篇将聚焦于SQL Server 2000的存储结构,帮助你全面掌握数据库内部的工作原理。 首先,我们来探讨SQL Server 2000的存储模型,它主要由数据页(Data Pages)、...

    变长记录文件存取类库(数据结构大作业)

    数据结构大作业:变长记录文件存取类库. 设计一个类库,支持对变长记录文件的存贮、插入、删除、查找、修改等功能。文件中的每条记录可以有不同的大小,是任意长度的字节流。每条记录对应一个序号(记录号)和一个...

    电话号码查询系统数据结构设计

    在电话号码查询系统中,链表可以用来存储电话号码记录,其中每个节点代表一个用户的个人信息,包括姓名、电话号码和家庭住址。通过指针,系统可以轻松地在记录间进行导航,执行插入、删除和修改操作,即使记录的物理...

Global site tag (gtag.js) - Google Analytics