Data Base_Oracle/SQL
SQL_VIEW OPTIONS [OR REPLACE]
pathas
2020. 1. 9. 00:21
VIEW OPTIONS
종류 | 설명 |
---|---|
OR REPLACE | 새로운 뷰를 만들 수 있을 뿐만 아니라 이미 만든 뷰를 삭제하지 않고 새로운 구조의 뷰로 변경 가능 |
FORCE | 기본 테이블의 존재 여부에 상관없이 뷰를 생성 |
WITH CHECK | 해당 뷰를 통해서 볼 수 있는 범위 내에서만 UPDATE 또는 INSERT가 가능하게 하는 조건 |
WITH READ ONLY | 뷰를 통해서는 기본 테이블의 어떤 필드에 대해서도 내용을 절대 변경할 수 없도록 함 |
OR REPLACE
- 동일한 이름의 VIEW가 존재하지 않는다면 VIEW를 생성하고,
존재한다면 VIEW의 내용을 수정 - 이미 만들어져 있는 VIEW의 이름은 그대로 두고 내용만 바꾸고 싶을 때 사용
§ 형식
[ SQL> create [or replace] view view이름 as sql구문; ]
# 예제
▷ b_emp4 테이블에서 부서번호가 10번인 데이터를 찾아서 그 사원의
사번, 이름, 입사일을 출력하는 뷰 작성
단, 필드명에 employee_no, employee_name, e_hire 별칭 부여
▶ [ SQL> create or replace view v_emp_10(employee_no, employee_name, e_hire)
as select empno, ename, hiredate from b_emp4 where deptno=10;
뷰가 생성되었습니다.
select * from v_emp_10; ]
EMPLOYEE_NO | EMPLOYEE_NAME | E_HIRE |
---|---|---|
7782 | CLARK | 81/06/09 |
7839 | KING | 81/11/17 |
7934 | MILLER | 82/01/23 |
※ 별칭 부여 방법은 뷰이름 (별칭1, 별칭2,,,,)으로 할 수 있으며,
as select 이후에 작성된 필드 순서대로 별칭을 부여함
▶▶ 위에서 만든 VIEW와 이름은 같지만 내용은 다른 VIEW 생성
[ SQL> create or replace view v_emp_10(id, job2, hire)
as select empno, job, hiredate from emp where deptno=20 or ename like 'A%';
뷰가 생성되었습니다. ]
ID | JOB2 | HIRE |
---|---|---|
7369 | CLERK | 80/12/17 |
7499 | SALESMAN | 81/02/20 |
7566 | MANAGER | 81/04/02 |
뷰의 옵션들 중 [ OR REPLACE ]에 대해 알아보았습니다.
기존의 뷰를 내용만 수정하고 싶을 때 편리하게 사용할 수 있습니다.
뷰 안의 필드에도 별칭을 부여할 수 있습니다.