CREATE [OR REPLACE] [ FORCE | NOFORCE] VIEW view [ (alias, alias,……)]
AS sub-query
[ WITH CHECK OPTION [CONSTRAINT 제약조건] ]
[ WITH READ ONLY ]
GRANT CREATE VIEW TO scott;
+ 3. 삭제
DROP VIEW 뷰이름;
CREATE SEQUENCE 시퀀스 이름
[INCREMENT BY n] -- 증가 값
[START WITH n] -- 시작 값
[MAXVALUE n | NOMAXVALUE] -- 최댓값
[MINVALUE n | NOMINVALUE ] -- 최솟값
[CYCLE | NOCYCLE] -- 최댓값에 도달했을 때 CYCLE이면 시작 값부터 다시 시작
[CACHE n | NOCACHE] -- 시퀀스가 생성할 번호를 메모리에 미리 할당해 놓은 수를 지정, 기본값은 20
-- 다음 번호를 생성
-- 시퀀스 만들고 맨 처음 nextval값 불러오면 START WITH에 있는 값을 불러옴
SELECT 시퀀스이름.nextval FROM dual;
-- 현재의 값을 조회하는 용도
-- nextval이 선행되어야 사용할 수 있음 (시퀀스가 만들어진 맨 처음에는 번호가 만들어진 적이 없어서 불러올 currval 없음 -> 오류 발생)
SELECT 시퀀스이름.currval FROM dual;
ALTER SEQUENCE 시퀀스이름
[INCREMENT BY n]
[MAXVALUE n | NOMAXVALUE]
[MINVALUE n | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE n | NOCACHE]
DROP SEQUENCE 시퀀스이름
: 테이블·뷰·시퀀스 등 객체 이름 대신 사용할 수 있는 다른 이름을 부여하는 객체
: 주로 테이블 이름이 너무 길어 사용이 불편할 때 좀 더 간단하고 짧은 이름을 하나 더 만들어 주기 위해 사용
동의어 만들려면 권한 부여 해줘야함 (synonym, public synonym 둘 다에 대한 권한을 줘야함)
GRANT CREATE SYNONYM TO scott;
GRANT CREATE PUBLIC SYNONYM TO scott;
CREATE [PUBLIC] SYNONYM 동의어이름
FOR [사용자.][객체 이름];
CREATE PUBLIC SYNONYM order_history FOR scott.order_history;
-- scott 계정이 만든 order_history를 public으로 저렇게 부르겠다..
-- scott 계정으로 로그인하지 않은 관리자 계정에서도 그냥 order_history로 테이블을 불러올 수 있다
DROP SYNONYM 동의어이름;