ROWNUM

 

 

.

 

'오라클 > Oracle,SQL' 카테고리의 다른 글

오라클공부 150. TIMESTAMP 데이터 타입  (0) 2015.09.10
오라클공부 149. ROWNUM  (0) 2015.09.10
오라클공부 147. ROWNUM  (0) 2015.09.10
오라클공부 146. ROWNUM  (0) 2015.09.10
오라클공부 145. ROWNUM  (0) 2015.09.10

ROWNUM

 

Rownum은 1로 시작해야 작동하는 제한사항이 있다.

ROWNUM은 1로 시작하지 않으면 원하는 결과를 뽑지 못한다.

 

 

'오라클 > Oracle,SQL' 카테고리의 다른 글

오라클공부 149. ROWNUM  (0) 2015.09.10
오라클공부 148. ROWNUM  (0) 2015.09.10
오라클공부 146. ROWNUM  (0) 2015.09.10
오라클공부 145. ROWNUM  (0) 2015.09.10
오라클공부 144. ROWNUM  (0) 2015.09.10

ROWNUM

 

 

 

WHERE절의 ROWNUM은 '<', '<=' 조건을 주로 사용하며, '=' 조건은 WHERE ROWNUM=1인 경우만 예외적으로 사용할 수 있습니다.

WHERE ROWNUM<10 : (O) 9행만 추출,

WHERE ROWNUM=1 : (O) 1행만 추출,

WHERE ROWNUM =2 : (X)no rows selected(공집합)

→주의! 에러 메시지 없이 한건도 추출되지 않음

 

*SQL 실행 순서를 참조하시면 이해에 도움이 될 것입니다.

ROWNUM은 SELECT 절에서 정해지는데, 먼저 실행되는 WHERE절에서 ROWNUM을 조건으로 사용할 수 없기 때문입니다.

예외적으로 첫번째 데이터는 데이터 존재 여부를 확인하기 위한 용도로 특별하게 사용할 수 있습니다.

즉, ROWNUM은 몇 건을 지정하는 목적이지 몇 번째 건을 지정하는 용도가 아닙니다.

 

 

 

'오라클 > Oracle,SQL' 카테고리의 다른 글

오라클공부 148. ROWNUM  (0) 2015.09.10
오라클공부 147. ROWNUM  (0) 2015.09.10
오라클공부 145. ROWNUM  (0) 2015.09.10
오라클공부 144. ROWNUM  (0) 2015.09.10
오라클공부 143. ROWID 데이터 타입  (0) 2015.09.10

ROWNUM

 

 

'오라클 > Oracle,SQL' 카테고리의 다른 글

오라클공부 147. ROWNUM  (0) 2015.09.10
오라클공부 146. ROWNUM  (0) 2015.09.10
오라클공부 144. ROWNUM  (0) 2015.09.10
오라클공부 143. ROWID 데이터 타입  (0) 2015.09.10
오라클공부 142. [참조] Pseudo-column  (0) 2015.09.09

ROWNUM

 

 

 

 

ROWID 데이터 타입

 

*사용 예

-학생 테이블에서 모든 ROWID와 학번을 출력하여라

 

 

 

[참조] Pseudo-column

 

*참조만 될 뿐 데이터베이스에 따로 저장되지 않음

 

*Oracle의 Pseudo-column은 테이블의 실제적인 컬럼은 아니므로 테이블의 describe을 통해서는 보이지 않지만 매우 유용하게 사용

-CURRVAL, NEXTVAL(sequence number generator)

-LEVEL(for hierarchical queries)

-ROWNUM(a row's relative number)

 

 

 

[참조] Oracle ROWID의 변화

 

*ROWID는 단지 Transaction의 길이 동안만 Consistence의 유지가 보장

-User 프로그램 내부에 하나 이상의 Transaction이 존재한다면, ROWID가 변화할 수도 있음

 

*Multi-user 환경에서 예상되는 문제점

-다른 user가 현재 특정 user가 사용하고 있는 ROWID를 invalidata하게 하는 UPDATE나 INSERT, DELETE 작업을 수행할 수도 있음

-INSERT나 length를 줄이는 UPDATE 작업 등에서 내부적으로 자동으로 ROWID를 변경할 수 있음

 

 

 

+ Recent posts