728x90
반응형
EMP 테이블을 기반으로 EMPEX 뷰 테이블을 하나 만들어주었고,
EMPVIEW1 이라는 가상 뷰 테이블을 생성하여, 조건문을 주며 출력해보았다.
이런식으로 VIEW 를 수정하는 방법에는 두가지가 있다.
첫번째는, ALTER를 이용해서 뷰를 수정하는 방법이고, 두번째는 OR REPLACE를 이용한 것이다.
단, OR REPLACE는 앞에 ALTER가 아니라 CREATE를 써줘야한다.
INSERT INTO EMPVIEW1(EMPNO, ENAME, SAL) VALUES (8989, '박주홍', 4000);
이렇게 VIEW 테이블에 데이터를 삽입하고, EMPEX 가상 뷰와 EMPVIEW1 가상 뷰 를 조회해보았다.
SELECT * FROM EMPVIEW1과 SELECT * FROM EMPEX 테이블 둘다 박주홍이 들어가있다.
이렇게 훼손될 위험이 있다.
DML 제한
WITH CHECK OPTION
하나 예시로, 위 가상 뷰 테이블에 WITH CHECK OPTION을 하나 더 추가해보았다. INSERT 할때, SAL 자리에 2000을 넣어서 오류가 났다. 왜 그런지는 아래 포스팅에서 풀어보았다.
가상 컬럼 생성
VIEW를 만들 때, 가상으로 GRADE 라는 컬럼을 만들어 주었고,
이 가상 컬럼에 INSERT를 시도해보았다. 결과는 보다시피 에러가났다.
따라서, 가상으로 만들어진 컬럼은 DML에 제한이 있는 것을 알 수 있다. 실제 데이터가 아니라, 기존에 존재한 데이터를 갖고 가상으로 만들었기 때문이다.
728x90
반응형
'✨ DBMS > MySQL' 카테고리의 다른 글
[MySQL / SQL] - JOIN 조인 (Cross , Equi , Self , Outer , Union ) (0) | 2023.07.29 |
---|---|
[MySQL / SQL] - 주요 함수 ( 숫자, 문자 , 시간, 날짜) (0) | 2023.07.27 |
[SQL] 뷰(VIEW) 활용하기 , WITH CHECK OPTION 사용법 (0) | 2023.07.27 |
[MySQL / SQL] 테이블 구조 생성, 변경, 삭제 (DDL) (0) | 2023.07.26 |
댓글