`

oracle伪列 分页

阅读更多
/* Formatted on 2010/11/26 09:06 (Formatter Plus v4.8.6) */
SELECT b.*
  FROM (SELECT ROWNUM pagination_num, a.*
          FROM (SELECT   s.storehouse_id, i.storehouse_name, s.materiel_name,
                         s.materiel_num, s.unit_name, s.total_money,
                         s.material_sign,
                         (SELECT d.dictdata_name
                            FROM td_sm_dictdata d, td_sm_dicttype t
                           WHERE d.dicttype_id = t.dicttype_id
                             AND t.dicttype_name = 'materialSign'
                             AND d.dictdata_value = s.material_sign) CATEGORY,
                         s.unit_id, s.materiel_type,
                         (SELECT d.dictdata_name
                            FROM td_sm_dictdata d, td_sm_dicttype t
                           WHERE d.dicttype_id = t.dicttype_id
                             AND t.dicttype_name = 'MATERIEL_TYPE'
                             AND d.dictdata_value = s.materiel_type) model,
                         s.goodsrack_id, s.item_id, s.incept_state, s.city_id,
                         s.materiel_id,
                         NVL ((SELECT p.project_name
                                 FROM td_newstorage_project p
                                WHERE p.project_id = s.item_id),
                              ''
                             ) project_name,
                         m.materiel_spec, m.materiel_model, g.goodsrack_name,
                         TO_CHAR (m.up_value) up_value,
                         TO_CHAR (m.down_value) down_value,
                         TO_CHAR
                            ((SELECT SUM (materiel_num)
                                FROM td_newstorage_stockpile needsum
                               WHERE needsum.depositary_id = s.depositary_id
                                 AND needsum.storehouse_id = s.storehouse_id
                                 AND needsum.incept_state = s.incept_state
                                 AND needsum.item_id = s.item_id
                                 AND needsum.material_sign = s.material_sign
                                 AND needsum.materiel_id = s.materiel_id
                                 AND needsum.materiel_type = s.materiel_type
                                 AND needsum.unit_id = s.unit_id)
                            ) sum_materiel
                    FROM td_newstorage_stockpile s,
                         td_newstorage_materiel_info m,
                         td_newstorage_goodsrack g,
                         td_newstorage_info i
                   WHERE s.materiel_id = m.materiel_id
                     AND s.goodsrack_id = g.goodsrack_id
                     AND s.storehouse_id = i.storehouse_id
                     AND s.materiel_num <> 0
                     AND s.depositary_id IN (
                                SELECT i.depositary_id
                                  FROM td_newstorage_situs_info i
                                 WHERE i.storehouse_id =
                                                        'CKXX2007120716465498')
                     AND s.depositary_id IN (SELECT m.depositary_id
                                               FROM td_newstorage_keeping_ref m
                                              WHERE m.keeping_id = 'admin')
                ORDER BY s.storehouse_id, s.item_id,s.goodsrack_id, s.incept_state) a
         --WHERE ROWNUM <= 10
) b
WHERE pagination_num <= 10 and pagination_num >= 1
分享到:
评论

相关推荐

    oracle的伪列与分页

    综上所述,Oracle伪列如ROWID和ROWNUM在实际应用中发挥着重要作用,不仅可以帮助优化查询性能,还能轻松实现复杂的分页功能。同时,通过Java JDBC编程,可以进一步提升应用程序与Oracle数据库的集成度和灵活性。

    Oracle的SQL分页实践

    在Oracle 9i及更高版本中,可以使用ROWNUM伪列进行分页。ROWNUM是在查询结果集生成时被赋予的数值,表示行的顺序。例如,如果我们想要获取前10条记录,可以使用以下查询: ```sql SELECT * FROM ( SELECT t.*, ...

    Oracle 存储过程分页

    在早期的Oracle版本中,ROWNUM伪列被广泛用于分页。ROWNUM是在结果集生成时自动分配的,表示每一行的顺序号。例如,以下存储过程展示了基于ROWNUM的分页查询: ```sql CREATE OR REPLACE PROCEDURE get_paged_...

    Oracle&JSP分页和Oracle分页

    Oracle提供了一种名为ROWNUM的伪列,它会为每一行返回一个唯一的数字,从1开始递增。通过ROWNUM,我们可以实现简单的分页。例如,如果我们想获取第1页(通常包含前10条记录),可以编写如下的SQL查询: ```sql ...

    oracle的分页查询

    本文将讲解 Oracle 中的分页查询,包括使用 ROWNUM 伪列和 ORDER BY 子句对查询结果进行排序和分页。 一、使用 ROWNUM 伪列实现分页查询 在 Oracle 中,ROWNUP 伪列是一个特殊的列,可以用来实现分页查询。例如,...

    oracle数据库伪列简单介绍

    ### Oracle数据库伪列简析:rownum与rowid的区别 在Oracle数据库中,存在一种特殊的数据类型被称为“伪列”,这些伪列虽然看起来像是表中的列,但实际上它们并不存储任何数据,而是由数据库动态生成的。本文将重点...

    17.Oracle伪列1

    【Oracle伪列详解】 在Oracle数据库中,伪列是一种特殊的数据类型,它们表现得像普通列,但并不实际存储在表中。Oracle提供了两种主要的伪列:rowid和rownum,它们各自拥有独特的功能和用途。 一、rowid伪列 1. ...

    Oracle-C#分页控件

    Oracle支持“ROWNUM”伪列来实现分页,例如: ```sql SELECT * FROM ( SELECT ROWNUM rnum, t.* FROM YourTable t WHERE YOUR_CONDITION ) WHERE rnum BETWEEN startRow AND endRow; ``` 这里,`startRow`和`...

    韩顺平Oracle版的分页查询

    在SQL语句中,通常使用`ROWNUM`伪列来实现分页。`ROWNUM`表示每条记录的顺序号,从1开始递增。例如,如果我们想要获取前10条记录,可以这样写: ```sql SELECT * FROM (SELECT ROW_NUMBER() OVER() AS ROWNUM, t.* ...

    Oracle存储过程分页

    在Oracle数据库中,实现分页查询通常有两种方法:一种是使用`ROWNUM`伪列,另一种则是通过存储过程实现。其中,使用存储过程进行分页更加灵活且易于维护。 #### 二、存储过程分页的优势 1. **提高性能**:存储过程...

    oracle-jdbc分页实现(只需传入sql语句即可实现分页)

    Oracle数据库提供了多种方法来实现分页查询,其中包括使用ROWNUM伪列、游标(CURSOR)以及Oracle的高级分页功能如ROW_NUMBER()、RANK()和DENSE_RANK()等。 1. ROWNUM伪列: ROWNUM是Oracle数据库特有的一个伪列,它...

    Oracle分页(limit方式的运用)

    1. **ROWNUM**:Oracle提供了一个内置的伪列`ROWNUM`,它可以为查询结果集中的每一行返回一个唯一的行号。`ROWNUM`从1开始计数,并且只能用于`WHERE`或`HAVING`子句。 2. **OFFSET与FETCH FIRST**:虽然Oracle本身不...

    oracle数据库级分页(java)

    Oracle数据库提供了多种方式来实现分页查询,其中最常用的是使用ROWNUM伪列。ROWNUM是在查询结果集返回之前被赋予的一个整数值,表示行的顺序。例如,如果我们想要获取第10到20条记录,可以使用以下SQL语句: ```...

    java连接Oracle分页显示

    1. **ROWNUM分页**:Oracle中的ROWNUM伪列可以用来实现简单的分页。它会为每一行返回的数据赋予一个唯一的数字,从1开始递增。例如,如果我们想获取第10到20行的数据,可以使用以下SQL语句: ```sql SELECT * FROM ...

    oracle 分页完整代码

    在Oracle数据库中,分页查询是一项非常常见...总之,Oracle的分页可以通过ROWNUM伪列配合Java的JDBC实现,也可以借助ORM框架进行更高级的封装。理解这些概念和技巧,对于开发过程中处理大规模数据的分页查询至关重要。

    java Oracle存储过程分页整理

    在Oracle中,可以通过游标(Cursor)和ROWNUM伪列来实现分页。ROWNUM是在查询过程中为每行生成的唯一数字,我们可以利用它来限制返回的行数。 在Java中,我们通常使用JDBC(Java Database Connectivity)API来与...

    oracle存储过程通用分页

    在Oracle中,我们可以使用ROWNUM伪列来进行分页,但这种方法在某些情况下效率不高,尤其是当查询条件包含ORDER BY子句时。 为了实现更高效的分页,我们可以创建一个存储过程,该过程接受两个参数:当前页号(PageNo...

    oracle和mssql分页存储过程-均通用

    Oracle中通常使用ROWNUM伪列实现分页。ROWNUM在查询时为每行生成一个唯一的数字,但需要注意的是,ROWNUM在查询时是立即计算的,因此不能直接用于分页,需要结合子查询或者连接来实现。例如,获取第一页(每页10条...

    SQL Server 存储过程及Oracle SQL语句分页

    在Oracle中,可以利用`ROWNUM`伪列实现分页。在这个例子中,我们设定每页显示5条记录(`lineSize = 5`),当前页为1(`currentPage = 1`)。首先,创建一个子查询,将`ROWNUM`与实际记录关联起来,限制返回的行数不超过`...

    Oracle分页+.cs代码+存储过程+Aspnetpager分页控件

    Oracle数据库支持多种分页方法,其中一种是通过ROWNUM伪列实现。ROWNUM是在查询结果集生成时自动分配的一个数值,表示行的顺序。为了进行分页,我们需要结合WHERE子句来筛选特定范围的行。例如,如果我们想要获取第...

Global site tag (gtag.js) - Google Analytics