- 浏览: 325778 次
文章分类
- 全部博客 (116)
- Oracle (29)
- MySQL (2)
- Java (20)
- .NET (2)
- Javascript (4)
- Spring (6)
- Struts (6)
- Hibernate (16)
- JSP (6)
- Tomcat (1)
- Quartz (2)
- RCS (1)
- Translate (12)
- PL/SQL (5)
- Sqlplus (1)
- System (6)
- Linux (11)
- Ubuntu (9)
- Windows (10)
- Mac (2)
- Tools (8)
- Mercurial (1)
- Google Code (1)
- Subversion (1)
- Debian (2)
- Freemarker (6)
- Web (2)
- PHP (1)
- Nginx (1)
最新评论
-
sunday1207:
private Class getParameterizedT ...
java 中 BaseDao 在Hibernate中的用法 -
SkimSkim:
你这里的解压是把文件夹11下面的所有文件都放在ins这个文件夹 ...
ubuntu 在终端使用 sqlplus 连接远程数据库 -
as619864232:
漫步邃思 写道其实常用的就那么几个命令,大部分都用不到的是啊, ...
windows cmd 命令 -
漫步邃思:
其实常用的就那么几个命令,大部分都用不到的
windows cmd 命令
在 Oracle 的表的使用过程中,实际表中还有一些附加的列,称为伪列。伪列就像表中的列一样,但是在表中并不存储。伪列只能查询,不能进行增删改查操作。oracle 中的 ROWID 和 ROWNUM 就是其中的伪列:
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as scott
一、ROWID:表中没列数据的物理地址。通过 ROWID 查询表的效率是最高的。
SQL> select t.ename,rowid from emp t; ENAME ROWID ---------- ------------------ SMITH AAAR3sAAEAAAACXAAA ALLEN AAAR3sAAEAAAACXAAB WARD AAAR3sAAEAAAACXAAC JONES AAAR3sAAEAAAACXAAD MARTIN AAAR3sAAEAAAACXAAE BLAKE AAAR3sAAEAAAACXAAF CLARK AAAR3sAAEAAAACXAAG SCOTT AAAR3sAAEAAAACXAAH KING AAAR3sAAEAAAACXAAI TURNER AAAR3sAAEAAAACXAAJ ADAMS AAAR3sAAEAAAACXAAK JAMES AAAR3sAAEAAAACXAAL FORD AAAR3sAAEAAAACXAAM MILLER AAAR3sAAEAAAACXAAN 14 rows selected SQL> select t.ename,rowid from emp t where t.rowid = 'AAAR3sAAEAAAACXAAA'; ENAME ROWID ---------- ------------------ SMITH AAAR3sAAEAAAACXAAA
oracle 中的各种索引则是通过不同的渠道获得 ROWID 从而达到高效率查询。
二、ROWNUM:表示结果集中每一行的行号,第一行为1,每行行号增加1,且 WHERE 条件中 ROWNUM 不能大于。
SQL> select ename,rownum from emp; ENAME ROWNUM ---------- ---------- SMITH 1 ALLEN 2 WARD 3 JONES 4 MARTIN 5 BLAKE 6 CLARK 7 SCOTT 8 KING 9 TURNER 10 ADAMS 11 JAMES 12 FORD 13 MILLER 14 14 rows selected --利用 ROWNUM 实现分页功能。(每页显示5条数据,显示第二页) SQL> select * from (select * from (select ename,rownum r from emp) t where r <= (2*5)) t2 where r > ((2-1)*5); ENAME R ---------- ---------- BLAKE 6 CLARK 7 SCOTT 8 KING 9 TURNER 10
发表评论
-
Mysql 与 Oracle 的一些区别
2012-10-01 13:17 1486周五去一家公司去面试,那公司经理问了关于Mysql与Oracl ... -
Oracle 数据的导入和导出
2012-09-17 19:17 1156数据导出: 1 将数据库TEST完全导出,用户名system ... -
ubuntu 在终端使用 sqlplus 连接远程数据库
2012-08-27 14:54 3997在 http://www.oracle.com/technet ... -
Oracle 批量操作
2012-08-13 12:44 937简单的写一个批量赋予权限的语句备用,其他类似: sel ... -
Oracle 中的 FORALL 语句
2012-04-13 11:52 14999当要在 Oracle 中之心批量 INSERT、UPDATE ... -
Oracle 中的游标用法
2012-04-10 16:38 1488循环将游标中的数据提取出来并放置2个变量中输出 SQL ... -
PL/SQL 记录
2012-04-09 16:36 1033PL/SQL 中可以使用 %ROWTYPE 作为一张表的行作为 ... -
PL/SQL 索引表、嵌套表、变长数组的区别
2012-04-08 13:38 1119索引表 嵌套表 变长数组 ... -
oracle 中的循环
2012-04-06 09:36 1398一、LOOP 循环是最简单的循环,也是无限循环,只能用 EXI ... -
oracle 中的动态 SQL
2012-04-06 09:36 1059在 PL/SQL 块中,可以使用 DDL 语句和事物控制语句, ... -
oracle 中的 CASE
2012-04-05 15:42 1188oracle 中的 CASE 可以作为一个选择控制语句,可以根 ... -
oracle 中的属性数据类型
2012-04-05 15:17 1628当需要数据库表中的某行作为一个数就类型时,就需要 %ROWTY ... -
oracle 中的 SELECT...INTO 语句
2012-04-05 15:03 2634SELECT...INTO 语句可以给多个值同时赋值,届时两边 ... -
oracle 中的表分区
2012-04-05 14:47 1039当数据库的数据不断扩大时,这时可以考虑是用表分区,查询时可以根 ... -
oracle 中的同义词
2012-04-05 14:12 1334同义词(Synonym)是数据库对象的一个别名,oracle ... -
oracle 使用 ROUND 和 EXTRACT 操作日期
2012-04-03 18:59 2100SQL> select to_char(sysdate, ... -
Oracle 总结
2012-04-02 16:57 1003一、走进Oracle 1:oracle 数据库产品是 ... -
oracle 所有错误编号解释
2012-03-31 15:09 1214oracle 所有官方错误编号解释:http://docs.o ... -
oracle 字符串连接
2012-03-31 13:52 1131SQL> select 1 || 2 from dual ... -
oracle 外联接
2012-03-31 13:37 1091oracle 外联接 “(+)” 的用法: Connecte ...
相关推荐
在Oracle SQL中,`ROWID`和`ROWNUM`是两个非常重要的概念,它们在数据库查询和数据操作中起着至关重要的作用。本文将详细探讨这两个特性,包括它们的定义、用途以及如何在实际场景中有效利用它们。 一、ROWID详解 `...
### Oracle SQL中ROWID与ROWNUM的使用 #### ROWNUM 的使用——TOP-N 分析 在 Oracle SQL 中,`ROWNUM` 是一种特殊的伪列,用于标识查询结果集中的行编号。它常用于实现 TOP-N 查询,即返回结果集中满足特定条件的...
Oracle学习笔记(rownum和rowid),有具体的代码案例讲解rownum和rowid
ORACLE 中ROWNUM用法总结!数据库管理员及程序开发员必看。
### 在Oracle中灵活使用Rownum和RowId 在Oracle数据库中,`ROWNUM` 和 `ROWID` 是两个非常重要的概念,它们可以帮助我们在查询数据时实现更灵活的数据管理。本文将详细介绍这两个概念的区别及其使用方法,并通过...
在Oracle SQL中,`ROWID`和`ROWNUM`是两个非常重要的概念,它们在数据库查询和操作中扮演着关键角色。本篇文章将详细解析这两个概念及其应用。 **ROWID** `ROWID`是Oracle数据库中一个特殊的伪列,它为每一行数据...
rowid 和 rownum 是 Oracle 数据库中的两个重要概念,对于数据库开发人员来说非常重要。下面我们将详细介绍 rowid 和 rownum 的概念、结构、应用场景等。 一、rowid 概念 rowid 是 Oracle 数据库中的一个虚列,...
本文主要是以实例形式介绍了Oracle查询中rownum与rowid的不同之处,以及以假设的方式为例,查询条件为rownum = 2,在查询出第一条记录时的具体内容的介绍。 在查询中,我们可以注意到,类似于 select xx from ...
另外:rowid 与 rownum 虽都被称为伪列,但它们的存在方式是不一样的,rowid 可以说是物理存在的,表示记录在表空间中的唯一位置ID,在DB中唯一。只要记录没被搬动过,rowid是不变的。rowid 相对于表来说又像表中的...
Hint.pdf Oracle中rowid与rownum的使用.pdf Oracle优化 之 索引.pdf Oracle优化器.pdf STATSPACK详解.pdf 学用ORACLE_AWR和ASH特性.pdf 执行计划.pdf
Oracle中的ROWNUM是在取数据的时候产生的序号,所以想对指定排序的数据去指定的ROWNUM行数据就必须注意了。例如: ```sql SELECT ROWNUM, ID, NAME FROM STUDENT ORDER BY NAME; ``` 可以看出,ROWNUM并不是按照NAME...
ROWID 相对于表来说又像表中的一般列,所以以 ROWID 为条件就不会有 ROWNUM 那些情况发生。 使用 ROWNUM 的时候需要注意以下几点: 1. 使用 ROWNUM 时,不能使用 >, >=, =, between...and 这些条件,因为这些条件...
ROWNUM 是 Oracle 系统中一个伪列,用于对查询返回的行进行编号,从 1 开始,每行递增 1。ROWNUM 可以用于限制查询返回的总行数,但需要注意的是,ROWNUM 不能以任何表的名称作为前缀。 等于某值的查询条件 在使用...
6. **ROWID与ROWNUM的区别**:ROWID是Oracle数据库中另一个伪列,它标识表中每行的物理位置,是表空间中记录的唯一标识。ROWID是物理存在的,不会因查询顺序改变而变化,可以作为查询条件,不会出现ROWNUM那样的问题...
综上所述,Oracle伪列如ROWID和ROWNUM在实际应用中发挥着重要作用,不仅可以帮助优化查询性能,还能轻松实现复杂的分页功能。同时,通过Java JDBC编程,可以进一步提升应用程序与Oracle数据库的集成度和灵活性。
总的来说,基于Oracle RowID的分页下载策略结合了`ROWNUM`、`StopKey`、逆向索引和多线程技术,旨在提供一种高效、稳定的方法来处理大规模数据的分批下载需求。这种策略不仅可以减轻数据库服务器的压力,还能确保...