[SQL] VIEW

aljongjong·2021년 12월 18일
0

학원 복습일지

목록 보기
39/84

VIEW

  • SELECT 문을 저장할 수 있는 객체이다.(논리적인 가상 테이블)
      데이터를 저장하고 있지 않으며 테이블에 대한 SQL만 저장되어 있어 VIEW 접근할 때 SQL을 수행하면서 결과값을 가져온다.
      
      [표현법]
          CREATE [OR REPLACE] VIEW 뷰명
          AS 서브 쿼리;
          



*사용자가 생성한 VIEW를 볼 수 있는 테이블

  • 컬럼으로 VIEW의 이름, 생성한 VIEW의 SQL 길이, 실제 SQL 등이 들어있다.
< 컬럼에 별칭 부여>
    서브 쿼리의 SELECT 절에 함수나 산술연산이 기술되어 있는 경우 반드시 별칭을 지정해야 한다.
    




<VIEW를 이용해서 DML(INSERT, UPDATE, DELETE) 사용>
    뷰를 통해 데이터를 변경하게 되면 실제 데이터가 담겨있는 기본 테이블에도 적용된다.
    




V_JOB VIEW

JOB 테이블


V_JOB, JOB 동일하게 UPDATE 적용


V_JOB, JOB 동일하게 DELETE 적용

<DML 구문으로 VIEW 조작이 불가능한 경우>













V_JOB VIEW

JOB 테이블










































<VIEW 옵션>
    [표현법
        CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW
        AS 서브 쿼리
        [WITH CHECK OPTION]
        [WITH READ ONLY];
    
    - OR REPLACE : 기존에 동일한 뷰가 있을 경우 덮어쓰고, 존재하지 않으면 뷰를 새로 생성한다.
    - FORCE : 서브 쿼리에 기술된 테이블이 존재하지 않는 테이블이어도 뷰가 생성된다.
    - NOFORCE : 서브 쿼리에 기술된 테이블이 존재해야만 뷰가 생성된다.(기본값)
    - WITH CHECK OPTION : 서브 쿼리에 기술된 조건에 부합하지 않는 값으로 수정하는 경우 오류를 발생시킨다.
    - WITH READ ONLY : 뷰에 대해 조회만 가능(DML - INSER, UPDATE, DELETE 수행 불가)














0개의 댓글