1 minute read

VIEW

  • SELECT 쿼리의 실행 결과를 화면에 저장한 논리적 가상 테이블
  • SQL문만 저장되어 있고 물리적인 테이블은 없음
  • 서브쿼리의 SELECT절에 함수가 사용된 경우 별칭 지정 필수

VIEW 생성

CREATE OR REPLACE VIEW [뷰 이름] AS
SELECT문;

VIEW 수정

CREATE OR REPLACE VIEW [뷰 이름] AS
SELECT문;

VIEW 삭제

DROP VIEW [뷰 이름]

VIEW DML 조작 가능

  • INSERT / UPDATE / DELETE
  • VIEW 데이터 변경 시 실제 데이터 테이블도 변경

VIEW DML 조작 불가

  • VIEW 정의에 포함되지 않은 컬럼을 조작할 경우
  • NOT NULL 제약 조건 지정된 경우
  • 산술 연산식이 포함된 경우
  • 그룹 함수 또는 GROUP BY 절 포함된 경우
  • DISTINCT 포함된 경우
  • JOIN을 사용한 경우(DELETE는 가능)

VIEW OPTION

  • OR REPLACE : 기존에 동일한 VIEW가 있을 경우 덮어쓰고 없으면 새로 생성
  • FORCE : SUBQUERY에 기술된 테이블이 존재하지 않아도 VIEW 생성 가능
  • NOFORCE : 기본값. SUBQUERY에 기술된 테이블이 존재해야만 VIEW 생성 가능
  • WITH CHECK OPTION : SUBQUERY에 기술된 조건에 부합하지 않는 값을 수정할 경우 오류 발생
  • WITH READ ONLY : VIEW에 대한 조회만 가능, DML(INSERT/UPDATE/DELETE) 수정 불가

SEQUENCE

  • 정수를 순차적으로 생성하는 객체

SEQUENCE 생성

CREATE SEQUENCE 시퀀스명;
CREATE SEQUENCE 시퀀스명
    START WITH 숫자       : 시작 값. 기본값 1
    INCREMENT BY 숫자     : 다음 값에 대한 증가치. 기본값 1
    MAXVALUE 숫자         : 발생시킬 최대값. 10의 27승-1까지 가능
    MINVALUE 숫자         : 발생시킬 최소값, -10의 26승
    CYCLE / NOCYCLE       :시퀀스가 최대값까지 증가 완료 시 CYCLE은 START WITH 설정 값으로 돌아감
    CACHE / NOCACHE       : CACHE는 메모리 상에서 시퀀스 값 관리. 기본값 20

SEQUENCE 수정

  • START WITH는 변경 불가. 재설정이 필요한 경우 기존 시퀀스를 삭제 후 재생성 필요
ALTER SEQUENCE 시퀀스명
    INCREMENT BY 숫자
    MAXVALUE 숫자
    MINVALUE 숫자
    CYCLE / NOCYCLE
    CACHE / NOCACHE

SEQUENCE 삭제

DROP SEQUENCE 시퀀스명
    INCREMENT BY 숫자
    MAXVALUE 숫자
    MINVALUE 숫자
    CYCLE / NOCYCLE
    CACHE / NOCACHE

Categories:

Updated: