본문 바로가기

프로그래밍/오라클

[ORACLE] View 오라클 뷰 객체 사용법

[ORACLE] ORACLE View  ||   오라클 뷰 객체 사용법




View Table    ||   가상의 테이블


창을 통해 테이블을 본다고 생각하자. 
창을 어디에 내느냐에 따라 볼 수 있는 테이블이 다른 것이다.


1) 가상의 뷰 검색
   - 단발에 그치는 검색이다.
2) 가상의 뷰 생성
   - 원하는 자료들만 모아, 뷰 테이블을 생성해서 사용할 수 있다. (!뷰 테이블 내 검색가능) 



예제1. 기존의 테이블의 컬럼을 그대로 가져와 사용하는 것. 하지만 VIEW_PROD1은 실제 뷰테이블이 아니다. 




=> 뷰테이블은 실제하는 테이블과 같이 사용할 수 있다.




예제2. 뷰테이블 생성하기




예제2-1. 생성한 뷰테이블로 조회하기.





예제 3. VIEW_MEMBER 뷰테이블 생성

- 뷰테이블은 생성할 당시의 조건에 맞지않게 수정이 불가하다! 반드시 기억하고 있어야한다!

  따라서, 뷰의 생성시 조건을 알고 수정을 해야한다.






예제 4. 뷰테이블 REPLACE

뷰테이블을 있더라도 재정의해서 사용하겠다는 의미이다.

그리고, 뷰는 테이블에 속한 것이 아니다. 뷰객체만을 따로 모아서 관리한다. 아래를 보면 알 수 있다.


뷰의 속성    ||

테이블처럼 조회하면 볼 수 있다. 그러나 데이터의 값이 들어있는 것이 아님을 알자. 

유리창처럼 무엇을 보여주고 가릴지를 알려주면, 그에 해당하는 데이터를 보여주는 역할 일 뿐이다.

(따라서, 뷰에서 데이터를 수정하더라도 참조하고있는 테이블의 데이터가 변하지 않는다.)





뷰를 생성할 경우 SYSDBA가 아닌 이상 권한을 부여받아야한다. 








권한을 받아보자!


1. cmd 창을 연다. 

sqlplus sys/java@localhost:1521 as sysdba

=> sys 계정(비번 : java)으로 localhost에 1521포트를 통해 접속하겠다. 권한은 SYSDBA이다.





1-1 아래와 같은 글이 뜨면 정상적으로 접속된 것이다.




2. grant create view to ice

ice 라는 사용자(스키마)에게 view를 생성할 수 있는 권한을 부여하겠다는 뜻.



2-1. 정상적으로 부여가 되면 Grant succeeded. 라는 문구가 뜬다.

성공!!