View 관련 정리

최대 1 분 소요

💼📝🔑⏰ 📙📓📘📒🎓

💼 VIEW 란?

  • 가상의 테이블이다.(실질적으로 테이블은 아니고 SQL이다)
  • 특정 컬럼을 제외하고 테이블을 구성해서 외부에 뷰테이블을 제공해주는 용도(보안을 위해서..)
  • READ, WRITE 권한 있지만 READ 기능만을 지정해 줄수도 있다.(READ면 수정할수 없음)
  • PPT 3 PAGE 참고
  • 뷰에는 인덱스를 생성할 수 없다.( 뷰에는 데이터가 없음 데이터는 실제 테이블에서 가져오기 때문에..)
    • 뷰가 느리면 원본 테이블을 점검해야한다.

📝 View 실습

CREATE OR REPLACE VIEW v_emp1 
AS
    SELECT profno, name, hiredate
    FROM professor;

-- View 테이블 확인
select * from v_emp1;
select * from user_Views; -- 내가만든 뷰테이블을 확인하는 용도
select * from all_Views where view_name = 'V_EMP1'; -- 내가만든것 뿐만 아니라 전부 보여준다.(대문자로 검색해야함!)
-- 뷰컬럼 삭제
DELETE FROM v_emp1 where profno = 1001;
-- 실습 2 (뷰에 WITH CHECK OPTION 주기)
CREATE OR REPLACE VIEW VIW_CHK30
AS
SELECT EMPNO,ENAME, SAL,COMM,DEPTNO
FROM EMP_COPY
WHERE DEPTNO=30 
WITH CHECK OPTION;

-- 테스트
INSERT INTO VIW_CHK30 VALUES(9999,'BBBB',1000,NULL,30);
SELECT * FROM VIW_CHK30;
INSERT INTO VIW_CHK30 VALUES(9999,'BBBB',1000,NULL,40);
UPDATE VIW_CHK30 SET DEPTNO=20 WHERE EMPNO=9999;
DELETE FROM VIW_CHK30 WHERE EMPNO=9999;
SELECT * FROM VIW_CHK30;
UPDATE viw_chk30 SET COMM = 1000;
SELECT * FROM VIW_CHK30;

댓글남기기