易截截图软件、单文件、免安装、纯绿色、仅160KB

解析oracle的rownum

对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。
举例说明:
例如表:student(学生)表,表结构为:
ID       char(6)      --学号
name    VARCHAR2(10)   --姓名
create table student (ID char(6), name VARCHAR2(100));
insert into sale values('200001',‘张一’);
insert into sale values('200002',‘王二’);
insert into sale values('200003',‘李三’);
insert into sale values('200004',‘赵四’);
commit;
(1) rownum 对于等于某值的查询条件
如果希望找到学生表中第一条学生的信息,可以使用rownum=1作为条件。但是想找到学生表中第二条学生的信息,使用rownum=2结果查不到数据。因为rownum都是从1开始,但是1以上的自然数在rownum做等于判断是时认为都是false条件,所以无法查到rownum = n(n>1的自然数)。
SQL> select rownum,id,name from student where rownum=1;(可以用在限制返回记录条数的地方,保证不出错,如:隐式游标)
SQL> select rownum,id,name from student where rownum=1;
    ROWNUM ID     NAME
---------- ------ ---------------------------------------------------
         1 200001 张一
SQL> select rownum,id,name from student where rownum =2;
    ROWNUM ID     NAME
---------- ------ ---------------------------------------------------
(2)rownum对于大于某值的查询条件
   如果想找到从第二行记录以后的记录,当使用rownum>2是查不出记录的,原因是由于rownum是一个总是从1开始的伪列,Oracle 认为rownum> n(n>1的自然数)这种条件依旧不成立,所以查不到记录
SQL> select rownum,id,name from student where rownum >2;
ROWNUM ID     NAME
---------- ------ ---------------------------------------------------
那如何才能找到第二行以后的记录呀。可以使用以下的子查询方法来解决。注意子查询中的rownum必须要有别名,否则还是不会查出记录来,这是因


相关文档:

Oracle数据库的备份及恢复策略研究

1、多工联机重作日志文件
  每个数据库实例都有其自己的联机重作日志组,在操作数据库时,Oracle首先将数据库的全部改变保存在重作日志缓冲区中,随后日志记录器进程(LGWR)将数据从系统共用区SGA(System Global Area)的重作日志缓冲区写入联机重作日志文件,在磁盘崩溃或实例失败时,可以通过与之相关的联机重作日志 ......

Oracle学习笔记摘录5

 数据库对象
<1>表(约束)
<2>如何自动编号
SQLserver
  --IDENTITY属性
  create table test(
    xh int identity(1,2) primary key,
    name varchar(20)
);
  insert into test(name) values ('mike');
ORACLE
  一个对象(序列sequenc ......

Oracle学习笔记摘录7

 用途: <1>模块化
<例子> --公司的员工的管理
         1.增加一个员工
         2.员工离职
用存储过程和函数来实现
1.增加一个员工
create sequence seq1 start with 7935;
create or replace function insert ......

hpux+slvm+mc/sg+oracle 10g rac实施手册

 硬件环境:hp rx2660*2+hp eva4400
软件环境:hpux 11.23,oracle 10g for hpux,oracle clusterware,mc/serviguard 11.18
1.安装HPUX
2.打补丁,参照文档即可,或打到magepatch dec.12.07以后也可以
3.安装mc/sg+SGeRAC(hp MC/Serviceguard为配合oracle rac所使用的模块)
4.规划存储
lock vg:1G
rac:100G
5.修改内 ......

Oracle笔记

Oracle 的代码表示及事例
 
1.  select + xxx + from + xxx   //查询语句  xxx 表示一个表  
     Select  *  from  + xxx   // * 表示一个列表中所有的内容
 
  类: 1)//  select * from country
 
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号