[sql] VIEW

sesame·2021년 8월 20일
0

sql

목록 보기
13/24

물리적인 테이블에 근거한 논리적인 가상의 테이블로 데이터가 없고 테이블에 대한 SQL만 저장되어있다.

  • 여러 테이블에 대한 검색결과를 뷰하나로 검색할 수 있다.
  • 접근 단순화
CREATE [OR REPLACE][FORCE|NOFORCE] VIEW 뷰이름
AS
subquery
[WITH CHECK OPTION[CONSTRAINT 제약조건]]
[WITH READ ONLY]

OR REPLACE: 같은 이름 뷰가 있으면 질의 변경

FORCE/NOFORCE - default: noforce
뷰는 일반적으로 기본 테이블이 존재한다는 가정하에 생성되지만, FORCE 옵션을 이용하면 존재하지 않는 테이블을 대상으로 뷰를 생설할 수 있다.

WITH CHECK OPTION: 제약조건에 맞는 데이터만 조회, 변경..

WITH READ ONLY: 검색만 가능한 뷰 생성(UPDATE x)


✨뷰를 통한 DML 실행

1. INSERT

INSERT INTO 뷰이름 VALUES (1,2, ...);

2. DELETE

DELETE FROM 뷰이름 WHERE stuno = 10;

3. UPDATE

--학번 100인 학생 학번 10으로 변경
UPDATE 뷰이름 SET stuno = 10 WHERE stuno = 100;

4. 조회

SELECT view_name, text
FROM user_view
WHERE view_name = '뷰이름';

✨ROWNUM : 상위 몇명

오라클에서 데이터베이스에 INSERT된 순서대로 부여되는 컬럼이다.

--INSERT된 순서대로 출력
SELECT ROWNUM, stuno, stuname, score
FROM student;

0개의 댓글