- 사용편의를 위한 View
CREATE VIEW v_emp_complex AS
SELECT empno, ename, deptno, hiredate FROM emp
WHERE (sal*comm) + 12 > 20000
AND deptno = 30
AND job = 'SALESMAN'
AND sysdate - 365 + 10 > hiredate;
SELECT * FROM v_emp_complex;
- 한글 View
CREATE VIEW 사원(사번, 성명, 부서번호, 입사일) AS
SELECT empno, ename, deptno, hiredate FROM emp
WHERE deptno = 30
- 수행속도 향상을 위한 View
- 제일 큰 값을 구하여라!
- HINT를 사용하였음 : 옵티미아저에게 힌트를 주었다. 기본은 asc이지만 인덱스를 desc 하여 조회하라
- max()를 쓰지않고 게시판이나 코드성 쿼리를 할 때 실행속도가 일정하게 나온다.
CREATE VIEW v_dept_max AS
SELECT /*+ INDEX_DESC(dept pk_dept) */ deptno
FROM dept
WHERE deptno > 0 // (인덱스를 타게) 이 검색조건에 따라서 이 인덱스를 사용하므로 준 것이다.
AND rownum = 1; // 하나이므로 제일 큰 값이 구해진다.
SELECT * FROM v_dept_max;
- 융통성 향상을 위한 VIEW
- 0.15 와 같은 값이 변동이 되므로 이걸 어플리케이션 코드에 넣지 않고, view에 넣고 생성한다.
CREATE VIEW v_emp_bonus ( empno, bouns) AS
SELECT empno, (sal+NVL(comm,0)) * 0.15
FROM emp;
'database > oracle' 카테고리의 다른 글
View 관련된 Dictionary (0) | 2012.03.21 |
---|---|
In-Line View (0) | 2012.03.21 |
보안관리를 위한 View (0) | 2012.03.21 |
View 생성, 변경 및 제거 (0) | 2012.03.21 |
100만건 이상(대량)의 데이터에서 중복키를 확인하도록 하는 방법 (0) | 2012.03.21 |