-- 기본 구문
CREATE [OR REPLACE] VIEW 뷰명
AS
SUBQUERY(서브쿼리)
WITH CHECK OPTION
WITH READ ONLY
-- 예
CREATE OR REPLACE VIEW VIEW_EMPLOYEES
AS
SELECT E.FIRST_NAME, E.LAST_NAME, D.DEPARTMENT_NAME, L.CITY, C.COUNTRY_NAME
, R.REGION_NAME
FROM EMPLOYEES E, DEPARTMENTS D, LOCATIONS L, COUNTRIES C, REGIONS R
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID(+)
AND D.LOCATION_ID = L.LOCATION_ID
AND L.COUNTRY_ID = C.COUNTRY_ID
AND C.REGION_ID = R.REGION_ID;
-- 1. 뷰(VIEW)란 이미 특정한 데이터베이스 내에 존재하는
-- 하나 이상의 테이블에서 사용자가 얻기 원하는 데이터들만을
-- 정확하고 편하게 가져오기 위하여 사전에 원하는 컬럼들만을 모아서
-- 만들어놓은 가상의 테이블로 편의성 및 보안에 목적이 있다.
-- 가상의 테이블이란.. 뷰가 실제로 존재하는 테이블(객체)이 아니라
-- 하나 이상의 테이블에서 파생된 또 다른 정보를 볼 수 있는 방법이라는 의미이며,
-- 그 정보를 추출해내는 SQL 문장이라고 볼 수 있다.
-- ○ 뷰(VIEW) 조회
SELECT *
FROM VIEW_EMPLOYEES;
-- ○ 뷰(VIEW) 설명 확인
DESC VIEW_EMPLOYEES;
/*
이름 널? 유형
--------------- -------- ------------
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
DEPARTMENT_NAME VARCHAR2(30)
CITY NOT NULL VARCHAR2(30)
COUNTRY_NAME VARCHAR2(40)
REGION_NAME VARCHAR2(25)
*/
-- 유용한정보
-- ○ 뷰(VIEW) 소스 확인 CHECK~!!!
SELECT VIEW_NAME, TEXT
FROM USER_VIEWS
WHERE VIEW_NAME = 'VIEW_EMPLOYEES';
--==>>
/*
VIEW_EMPLOYEES
" SELECT E.FIRST_NAME, E.LAST_NAME, D.DEPARTMENT_NAME, L.CITY, C.COUNTRY_NAME
, R.REGION_NAME
FROM EMPLOYEES E, DEPARTMENTS D, LOCATIONS L, COUNTRIES C, REGIONS R
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID(+)
AND D.LOCATION_ID = L.LOCATION_ID
AND L.COUNTRY_ID = C.COUNTRY_ID
AND C.REGION_ID = R.REGION_ID "
*/
728x90
'ORACLE' 카테고리의 다른 글
ORACLE 테이블, 프로시저 OBJECT 찾기 (0) | 2024.08.02 |
---|---|
ORACLE - PL/SQL 실습 / Procedural Language extension to SQL / DECLARE BEGIN END (0) | 2022.07.30 |
DELETE 구문 / 테이블에서 지정된 행(레코드)을 삭제하기 (0) | 2022.07.30 |
UPDATE 시 조건절 / Oracle subquery (서브쿼리) 로 조건절 만들기 (0) | 2022.07.30 |
UPDATE 구문 실습 / 테이블에서 기존 데이터를 수정(변경)하기 (0) | 2022.07.30 |
댓글