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
오라클공부 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로 시작하지 않으면 원하는 결과를 뽑지 못한다.
오라클공부 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은 몇 건을 지정하는 목적이지 몇 번째 건을 지정하는 용도가 아닙니다.
오라클공부 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
오라클공부 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
오라클공부 146. ROWNUM (0) | 2015.09.10 |
---|---|
오라클공부 145. ROWNUM (0) | 2015.09.10 |
오라클공부 143. ROWID 데이터 타입 (0) | 2015.09.10 |
오라클공부 142. [참조] Pseudo-column (0) | 2015.09.09 |
오라클공부 141. [참조] Oracle ROWID의 변화 (0) | 2015.09.09 |
ROWID 데이터 타입
*사용 예
-학생 테이블에서 모든 ROWID와 학번을 출력하여라
오라클공부 145. ROWNUM (0) | 2015.09.10 |
---|---|
오라클공부 144. ROWNUM (0) | 2015.09.10 |
오라클공부 142. [참조] Pseudo-column (0) | 2015.09.09 |
오라클공부 141. [참조] Oracle ROWID의 변화 (0) | 2015.09.09 |
오라클공부 140. [참조] Oracle ROWID(1/2) (0) | 2015.09.09 |
[참조] Pseudo-column
*참조만 될 뿐 데이터베이스에 따로 저장되지 않음
*Oracle의 Pseudo-column은 테이블의 실제적인 컬럼은 아니므로 테이블의 describe을 통해서는 보이지 않지만 매우 유용하게 사용
-CURRVAL, NEXTVAL(sequence number generator)
-LEVEL(for hierarchical queries)
-ROWNUM(a row's relative number)
오라클공부 144. ROWNUM (0) | 2015.09.10 |
---|---|
오라클공부 143. ROWID 데이터 타입 (0) | 2015.09.10 |
오라클공부 141. [참조] Oracle ROWID의 변화 (0) | 2015.09.09 |
오라클공부 140. [참조] Oracle ROWID(1/2) (0) | 2015.09.09 |
오라클공부 139. [참조] Oracle ROWID(2/2) (0) | 2015.09.09 |
[참조] Oracle ROWID의 변화
*ROWID는 단지 Transaction의 길이 동안만 Consistence의 유지가 보장
-User 프로그램 내부에 하나 이상의 Transaction이 존재한다면, ROWID가 변화할 수도 있음
*Multi-user 환경에서 예상되는 문제점
-다른 user가 현재 특정 user가 사용하고 있는 ROWID를 invalidata하게 하는 UPDATE나 INSERT, DELETE 작업을 수행할 수도 있음
-INSERT나 length를 줄이는 UPDATE 작업 등에서 내부적으로 자동으로 ROWID를 변경할 수 있음
오라클공부 143. ROWID 데이터 타입 (0) | 2015.09.10 |
---|---|
오라클공부 142. [참조] Pseudo-column (0) | 2015.09.09 |
오라클공부 140. [참조] Oracle ROWID(1/2) (0) | 2015.09.09 |
오라클공부 139. [참조] Oracle ROWID(2/2) (0) | 2015.09.09 |
오라클공부 138. [참조] Oracle ROWID(1/2) (0) | 2015.09.09 |