Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2833327
  • 博文数量: 599
  • 博客积分: 16398
  • 博客等级: 上将
  • 技术积分: 6875
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-30 12:04
个人简介

WINDOWS下的程序员出身,偶尔也写一些linux平台下小程序, 后转行数据库行业,专注于ORACLE和DB2的运维和优化。 同时也是ios移动开发者。欢迎志同道合的朋友一起研究技术。 数据库技术交流群:58308065,23618606

文章分类

全部博文(599)

文章存档

2014年(12)

2013年(56)

2012年(199)

2011年(105)

2010年(128)

2009年(99)

分类: Oracle

2012-08-29 11:25:09

我们一般情况下通过DBMS_ROWID.ROWID_ROW_NUMBER来取得行号:
 

点击(此处)折叠或打开

  1. SQL> select dbms_rowid.rowid_row_number(rowid) row#,id,name from t;
  2.       ROW# ID NAME
  3. ---------- ---------- --------------------

  4.          0 0 A
  5.          1 1 B
  6.          2 2 C
  7.          3 3 D
  8.          4 4 E
  9.          5 5 F
  10.          6 6 G
  11.          7 7 H
  12.          8 8 I
  13.          9 9 G
  14. 10 rows selected.
其实还有个更简便的函数SYS_OP_RPB来取得块中的行号。
 

点击(此处)折叠或打开

  1. SQL> select dbms_rowid.rowid_row_number(rowid) row#,sys_op_rpb(rowid) from t;

  2.       ROW# SYS_OP_RPB(ROWID)
  3. ---------- -----------------

  4.          0 0
  5.          1 1
  6.          2 2
  7.          3 3
  8.          4 4
  9.          5 5
  10.          6 6
  11.          7 7
  12.          8 8
  13.          9 9

  14. 10 rows selected.

  15. SQL>

仅供参考。
阅读(1637) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~