Database/Oracle
오라클 PseudoColumn을 의미하는 것
Huikyun
2009. 2. 18. 19:45
8. PseudoColumn을 의미하는 것
8-1) ROWID 컬럼
8-2) ROWNUM 컬럼
8-1) ROWID 컬럼
8-2) ROWNUM 컬럼
8-1) ROWID 컬럼
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
오라클에서 내부적으로 사용되는 컬럼을 pseudocolumn이라고 하며,
ROWID, ROWNUM등이 있다.
ROWID는 데이터베이스에서 컬럼이 위치한 장소이다.
ROWID, ROWNUM등이 있다.
ROWID는 데이터베이스에서 컬럼이 위치한 장소이다.
【예제】
SQL> select rowid from test;
SQL> select rowid from test;
ROWID
------------------
AAAHbHAABAAAMXCAAA
------------------
AAAHbHAABAAAMXCAAA
SQL> select rowid from test
2 where rowidtochar(rowid) like '%AABAA%';
ROWID
------------------
AAAHbHAABAAAMXCAAA
------------------
AAAHbHAABAAAMXCAAA
SQL> select lengthb(rowidtonchar(rowid)), rowidtonchar(rowid)
2 from test;
LENGTHB(ROWIDTONCHAR(ROWID)) ROWIDTONCHAR(ROWID
---------------------------- ------------------
36 AAAHbHAABAAAMXCAAA
---------------------------- ------------------
36 AAAHbHAABAAAMXCAAA
여기서 rowid의 의미는 다음과 같다.
AAAHbH AAB AAAMXC AAA 객체번호 테이블스페이스번호 블록번호 행번호
8-2) ROWNUM 컬럼
--------------------------------------------------------------------------------
오라클에서 내부적으로 사용되는 컬럼을 pseudocolumn이라고 하며, ROWID, ROWNUM등이 있다.
ROWNUM은 테이블에서 select 되어진 일련 번호임
【예제】
SQL> select rownum,ename from emp;
ROWNUM ENAME
---------- ----------
1 CLARK
2 MILLER
3 JONES
4 ALLEN
5 MARTIN
6 CHAN
6 rows selected.
SQL> delete from emp where ename='JONES';
1 row deleted.
SQL> select rownum,ename from emp;
ROWNUM ENAME
---------- ----------
1 CLARK
2 MILLER
3 ALLEN
4 MARTIN
5 CHAN
ROWNUM은 테이블에서 select 되어진 일련 번호임
【예제】
SQL> select rownum,ename from emp;
ROWNUM ENAME
---------- ----------
1 CLARK
2 MILLER
3 JONES
4 ALLEN
5 MARTIN
6 CHAN
6 rows selected.
SQL> delete from emp where ename='JONES';
1 row deleted.
SQL> select rownum,ename from emp;
ROWNUM ENAME
---------- ----------
1 CLARK
2 MILLER
3 ALLEN
4 MARTIN
5 CHAN