물리적인 테이블에 근거한 논리적인 가상의 테이블로 데이터가 없고 테이블에 대한 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)
INSERT INTO 뷰이름 VALUES (값1, 값2, ...);
DELETE FROM 뷰이름 WHERE stuno = 10;
--학번 100인 학생 학번 10으로 변경
UPDATE 뷰이름 SET stuno = 10 WHERE stuno = 100;
SELECT view_name, text
FROM user_view
WHERE view_name = '뷰이름';
오라클에서 데이터베이스에 INSERT된 순서대로 부여되는 컬럼이다.
--INSERT된 순서대로 출력
SELECT ROWNUM, stuno, stuname, score
FROM student;