View
- 하나 이상의 테이블로부터 유도된 이름을 가진 가상 테이블
CREATE [OR REPLACE] VIEW view_name
[column1, column2, ...]
AS
Select statement
**만약 VIEW 테이블이 생성이 안된다면 생성 권한을 추가해준다.
EX) 1. 직업이 'CLERK'인 직원의 정보를 저장하는 view 생성하기
2. 직업의 종류와 종류별 개수를 알고 싶다면
VIEW의 구조 및 이름 확인
USER_VIEWS 데이터 사전 테이블
OR REPLACE
- view 수정 가능
EX) 위에서 만들었던 CEMP VIEW 수정
VIEW의 데이터 변경
- 뷰가 하나의 테이블을 사용하고, 권한이 있다면 INSERT, UPDATE, DELETE문을 사용하여 참조하는 테이블의 데이터 변경 가능
WITH CEHCK OPTION
- 뷰를 통해 수행되는 INSERT와 UPDATE는 WITH CHECK OPTION 절에 있으면 삽입되거나 갱신되는 데이터에 대해 무결성 제약조건과 데이터 검증 체크를 한다.
WITH READ ONLY
- 뷰에서 삽입, 갱신, 삭제가 불가능
EX) WITH CHECK OPTION
직원번호가 7369인 직원의 월급을 900으로 바꿔보자.
이번엔 월급이 900이상인 직원의 정보를 저장한 CEMP_SAL VIEW를 만들어보자.
CEMP_SAL에서 직원번호가 7369인 직원의 월급을 800으로 바꾸려고 하면 CEMP_SAL 뷰의 조건이 월급이 900이상이어야 하기 때문에 에러가 발생한다.
WITH READ ONLY
MEMP 뷰에서 직원번호가 7566인 직원의 데이터를 삭제하려고 하면 에러가 뜬다.
VIEW 삭제
DROP VIEW view_name;
'데이터베이스 > Oracle' 카테고리의 다른 글
[Oracle] PL/SQL (0) | 2022.04.26 |
---|---|
[Oracle] 변환 함수 (0) | 2022.04.24 |
[Oracle] 날짜 처리 함수 (0) | 2022.04.23 |
[Oracle] 숫자 처리 함수 (0) | 2022.04.22 |
[Oracle] 문자 처리 함수 (0) | 2022.04.21 |
댓글