VIEW (가상 테이블)
실체가 없는 테이블, 다른 테이블에 접근하기 위한 테이블, 중간에 있는 테이블
참고
속도가 빠르다.
한 개의 뷰로 여러 개의 테이블을 검색할 수 있다.
제한 설정이 가능하다.(READONLY)
VIEW생성
형식
CREATE OR REPLACE VIEW 뷰명
AS
SELECT *
FROM 접근할 테이블명;
예제
-- hr스키마
CREATE OR REPLACE VIEW TEST_VIEW
AS
SELECT *
FROM jobs;
원하는 컬럼만 넣어 VIEW생성
형식
CREATE OR REPLACE VIEW 뷰명
AS
SELECT 컬럼명1, 컬럼명2...컬럼명n
FROM 접근할 테이블명;
참조
이때 컬럼명은 접근할 테이블의 컬럼명이다.
또한, 테이블 간 JOIN을 하여 여러 데이터를 집어넣는 것도 가능하다.
예시
CREATE OR REPLACE VIEW TEST_VIEW
AS
SELECT job_id, job_title, min_salary
FROM jobs;
VIEW로 접근하여 테이블에 데이터 집어넣기
형식
INSERT INTO 뷰명(컬럼명1, 컬럼명2, ...컬럼명n)
VALUES(값1,값2...값n);
참조
실제로 VIEW에서 접근 테이블에 데이터를 집어넣는 건 매우 위험하다고 한다..
거의 사용할 일이 없다.
예시
INSERT INTO UB_TEST_01(job_id, job_title, min_salary)
VALUES('DEVELOPER', '개발자', 10000);
ROLLBACK : 되돌리기
형식
ROLLBACK;
참조
INSERT 후 ROLLBACK을 하게 되면 데이터를 넣기 전으로 되돌릴 수 있다.
COMMIT시 ROLLBACK불가!!
COMMIT : DB에 적용하기
형식
COMMIT;
참조
데이터를 집어넣으려면 필수!!
읽기전용 VIEW 생성
형식
CREATE OR REPLACE VIEW 뷰명
AS
SELECT *
FROM 접근할 테이블명
WITH READ ONLY;
참조
읽기 전용으로 VIEW생성 시 INSERT 할 수 없다.
예제
CREATE OR REPLACE VIEW TEST_VIEW
AS
SELECT *
FROM jobs
WITH READ ONLY; -- 읽기전용
VIEW 검색
형식
SELECT * FROM 뷰명;
예제
SELECT * FROM TEST_VIEW;
VIEW 삭제
형식
DROP VIEW 뷰명;
예제
DROP VIEW TEST_VIEW;
'IT > SQL' 카테고리의 다른 글
[Oracle DB SQL] 동의어(SYNONYM) (0) | 2021.06.01 |
---|---|
[Oracle DB SQL] 시퀀스(SEQUENCE)/생성/조회/CURRVAL/INCREMENT BY (0) | 2021.06.01 |
[Oracle DB SQL] 무결성/기본키/외래키/고유키/CHECK/NOT NULL/무결성 삭제 (0) | 2021.05.31 |
[Oracle DB SQL] 테이블 수정하기/테이블명 변경/ 컬럼 추가/컬럼 수정/ 컬럼 삭제/휴지통 비우기 (0) | 2021.05.31 |
[Oracle DB SQL] 테이블 복제하기 (0) | 2021.05.31 |