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 ]에 대해 알아보았습니다.

기존의 뷰를 내용만 수정하고 싶을 때 편리하게 사용할 수 있습니다.
뷰 안의 필드에도 별칭을 부여할 수 있습니다.