[Oracle] 오라클 뷰(VIEW) FORCE, NOFORCE 옵션 사용법 (기준 테이블)

오라클에서 뷰(VIEW)를 생성할 때 FORCE, NOFORCE 옵션을 부여할 수 있다. 옵션을 부여하지 않으면 기본값은 NOFORCE로 설정된다.

 

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 뷰이름 [(column_aliases)]
AS
    SELECT 문
;

 

FORCE : 쿼리문의 테이블, 컬럼, 함수 등이 일부 존재하지 않아도 생성 됨
NOFORCE : 쿼리문의 테이블, 컬럼 함수 등이 모두 정상적으로 생성되어 있어야 생성됨

 

FORCE 옵션을 사용 후 컴파일 오류가 발생하면 INVALID 상태로 뷰가 생성 되고, 오류가 없을경우 정상적으로 생성 된다. NOFORCE 옵션을 사용 후 컴파일 오류가 발생하면 뷰는 생성되지 않는다.

 

NOFORCE 사용

 

NOFORCE 옵션을 사용했을 경우 쿼리문의 테이블, 컬럼 등이 존재하지 않을경우 컴파일 오류가 발생하며 뷰는 생성되지 않는다.

 

NOFORCE 옵션은 기본값이기 때문에 생략해도 된다. (CREATE OR REPLACE VIEW 뷰이름 AS)

 

FORCE 사용

 

FORCE 옵션을 사용했을 경우 동일하게 컴파일 오류가 발생하지만 오류 메시지는 다르다. 쿼리문의 오류가 아니라 뷰자체의 오류가 발생한다.

 

컴파일 오류가 발생했지만 아래와 같이 뷰가 생성된 것을 확인 할 수 있다. 다만 INVALID 상태로 생성된다.

 

 

테이블, 컬럼, 함수 등 정상적으로 생성 후 뷰를 재컴파일하면 정상적으로 동작한다.

 

 

댓글

Designed by JB FACTORY