ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL 단순 VIEW 수정 & 삭제
    Data Base_Oracle/SQL 2020. 1. 9. 00:01

    단순 VIEW 수정

    DML을 사용하여 VIEW의 내용을 수정
    VIEW의 레코드를 수정하면 VIEW가 참조한 기본 테이블의 레코드도 수정됨

    UPDATE

    § 형식

    [ SQL> update 수정view명 set 수정 필드명 = 수정 값,,,, where 조건식; ]

    # 예제

    ▷ 부서번호가 30인 사원의 이름, 급여, 부서번호만 보여주는 뷰 작성

    ▶ [ SQL> create view view_30 as select ename, sal, deptno from emp where deptno=30; ]

    ENAME SAL DEPTNO
    ALLEN 1600 30
    WARD 1250 30
    ... ... ...

    ▷ ALLEN의 급여를 1600에서 0으로 감봉

    ▶ [ SQL> update view_30 set sal = 0 where ename='ALLEN';
    1 행이 갱신되었습니다.
    select ename, sal from view_30 where ename='ALLEN'; ]

    ENAME SAL
    ALLEN 0

    ※ VIEW에 DML을 사용하면 VIEW가 참조한 Table에도 적용됨
    [ SQL> select ename, sal from emp where ename='ALLEN'; ]

    ENAME SAL
    ALLEN 0

    VIEW의 수정이 불가능한 경우

    • 뷰 정의에 포함되지 않은 칼럼중에 기본 테이블의 칼럼이
      NOT NULL 제약 조건이 지정되어 있는 경우 INSERT문 사용 불가
    • SAL*12와 같이 산술 표현식으로 정의된 가상 칼럼이 뷰에 정의되면
      INSERT, UPDATE 불가
      ※ 가상필드에 데이터를 입력할 수 없기 때문
    • DISTINCT 포함 경우에도 DML 명령 사용 불가
    • 그룹 함수나 GROUP BY 절을 포함한 경우에도 DML 명령 사용 불가

    단순 VIEW 삭제

    § 형식

    [ SQL> drop view view명; ]

    # 예제

    ▷ 더 이상 사용하지 못하는 emp_name 뷰를 삭제

    ▶ [ SQL> drop view emp_name;
    뷰가 삭제되었습니다. ]


    단순 VIEW의 수정 / 삭제 방법에 대해 알아보았습니다.

    VIEW에 DML구문을 사용하면 기본 테이블의 데이터도 변경된다는 것에 주의해야 합니다.

     

    'Data Base_Oracle > SQL' 카테고리의 다른 글

    SQL 복합 VIEW 생성  (0) 2020.01.09
    SQL 단순 VIEW_그룹 함수 사용  (0) 2020.01.09
    SQL 단순 VIEW 검색 & VIEW가 실행되지 않는 경우  (0) 2020.01.08
    SQL 단순 VIEW 생성  (0) 2020.01.08
    SQL_VIEW 개요 & USER_VIEWS  (0) 2020.01.08

    댓글

Designed by Tistory.