요즘 뇌를 자극하며 오라클을 공부하고 있습니다. 

뇌를자극하는오라클프로그래밍SQLPLSQL
카테고리 컴퓨터/IT > 데이터베이스
지은이 홍형경 (한빛미디어, 2008년)
상세보기

DB 배워볼거랍시고 OCP를 땄지만, 역시 기본부터 배우는게 중요하다고 생각이 드네요.
책이 쓰여진 정보들을 좀더 찾아보기 쉽게 블로그에 하나씩 정리하려합니다.


의사 컬럼 (Pseudo Columns)
테이블에 있는 일반적인 컬럼처럼 행동하기는 하지만 실제로 테이블에 저장되어 있지 않은 컬럼.

[일반]

1. ROWNUM
ROWNUM은 쿼리의 결과로 나오게 되는 각각의 로우들에 대한 순서값을 카리키는 의사컬럼이다.

employees 테이블에서 10건의 정보만 조회하고 싶다면..
ex)  SELECT employee_id, last_name, ROWNUM
          FROM EMPLOYEES
        WHERE ROWNUM <= 10 ;


2. ROWID
ROWID는 테이블에 저장된 각각의 로우들에 저장된 주소값을 가진 의사컬럼이다.
따라서 모든 테이블의 모든 로우들은 오직 자신만의 유일한 ROWID값을 갖고 있다고 할 수 있다.


[SEQUENCE]
시퀀스를 사용할 때, 필수로 쓰이는 의사컬럼
3. CURRNAL
현재 시퀀스 값을 가지고 있다.

4. NEXTVAL
다음에 생성될 시퀀스값을 가지고 있다.

주의 : NEXTVAL 은 어떤 방식으로든 사용되는 즉시, 시퀀스값이 증가한다.
무슨 값을 갖고 있는지 궁금하네? 하면서 
SELECT emp_seq.nextval FROM dual ;  요래 검색하면 이미 시퀀스 값은 증가;;

select *
from user_sequences ;  해보면 내가 가지고 있는 시퀀스를 조회할 수 있다.




Posted by 야동우
,