2014-12-12 17 views
0

다음 질문을 할 때 rowid에 대한 정의가 혼란 스럽습니다. 어느 쪽이 맞습니까?oracle 데이터베이스의 rowid 정의

ROWID는 다음과 같습니다. 1. 데이터베이스에서 검색 될 때 각 행과 연관된 일련 번호 형식의 정수.
2. 데이터베이스 데이터 파일 내의 행의 물리적 위치를 나타내는 base-64 숫자.

+0

https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns008.htm –

답변

1

rownum을 rowid와 혼동하고 있습니다.

ROWID 의사 콜렉션은 행의 주소를 반환합니다. Oracle Database ROWID 값은 행을 찾는 데 필요한 정보를 포함합니다.

https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns008.htm

ROWNUM 의사 열 오라클 테이블에서 행을 선택하거나 ROWID가 매우 드물게에 사용되지

https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns009.htm

select rowid, rownum, name from sys.system_privilege_map 
where rownum < 10; 

ROWID ROWNUM NAME 
AAAAFtAABAAAAiBADP 1 FLASHBACK ARCHIVE ADMINISTER 
AAAAFtAABAAAAiBADO 2 ALTER DATABASE LINK 
AAAAFtAABAAAAiBADN 3 ALTER PUBLIC DATABASE LINK 
AAAAFtAABAAAAiBADM 4 ADMINISTER SQL MANAGEMENT OBJECT 
AAAAFtAABAAAAiBADL 5 UPDATE ANY CUBE DIMENSION 
AAAAFtAABAAAAiBADK 6 UPDATE ANY CUBE BUILD PROCESS 
AAAAFtAABAAAAiBADJ 7 DROP ANY CUBE BUILD PROCESS 
AAAAFtAABAAAAiBADI 8 CREATE ANY CUBE BUILD PROCESS 
AAAAFtAABAAAAiBADH 9 CREATE CUBE BUILD PROCESS 

접합 행

의 설정 순서를 나타내는 번호를 반환 검색어. 반면에 ROWNUM은 위에 표시된 것처럼 결과의 수를 제한하는 데 매우 빈번하게 사용됩니다.