DCL : 데이터 제어 언어
=> 계정에 권한을 부여하는 시스템 권한/ 객체 접근 권한을 부여하거나 회수하는 구문
- 시스템 권한 : DB에 접근하는 권한 , 객체를 생성할 수 있는 권한
- 객체 접근 권한 : 특정 객체들을 조작할 수 있는 권한
* 계정 생성 *
CREAT USER 계정명 IDENTIFIED BY 비밀번호 ;
* 권한 부여 *
GRANT 권한 (CONNECT, RESOURCE) TO 계정명;
* 시스템 권한 종류 *
- CREATE SESSION : 접속 권한
- CREATE TABLE : 테이블 생성 권한
- CREATE VIEW : 뷰 생성 권한
- CREATE SEQENCE : 시퀀스 생성 권한
VIEW :
SELECT문을 통해 얻어진 결과물을 저장해둘 수 있는 객체
= > 자주 사용하는 쿼리문을 저장해두면 매번 다시 해당 쿼리문을 기술할 필요가 없다
임시테이블과 같은 존재 : 실제 데이터가 저장되는 게 아니라, 논리적으로만 저장되어있다.
-- 뷰를 생성할 수 있는 권한을 부여 (관리자 권한으로 실행!)
-- GRANT CREATE VIEW TO C##KH;
생성된 뷰를 통해서 DML(INSERT/UPDATE/DELETE)
-- > 뷰를 통해서 DML을 작성하게 되면, 실제 데이터가 저장되어 있는 테이블에 반영
* VIEW 옵션 *
CREATE [OR REPLACE] [FORCE | (NOFORCE)] VIEW
AS 서브쿼리
[WITH CHECK OPTION]
[WITH READ ONLY];
- OR REPLACE : 기존에 동일한 이름의 뷰가 있을 경우 갱신하고,
존재하지 않을 경우 새로 생성
FORCE : 서브쿼리에 작성한 테이블이 존재하지 않아도 뷰를 생성
NOFORCE : 서브쿼리에 작성한 테이블이 존재해야지만 뷰를 생성 (기본값)
WITH CHECK OPTION :
DML(추가/수정/삭제)
사용 시 서브쿼리에 작성한 조건에 맞는
값으로만 실행되도록만 하는 옵션
WITH READ ONLY :
뷰를 조회만 가능하도록 하는 옵션
CREATE OR REPLACE NOFORCE VIEW VW_TEMP
AS SELECT TCODE, TNAME, TCONTENT
FROM TT; --> 현재 TT라는 테이블이 없으므로 뷰도 생성 불가(NOFORCE)
1.CREATE 2.OR REPLACE 3.NOFORCE 4.VIEW 5.VW_TEMP
1. CREATE
2. OR REPLACE : 기존 동일한 이름의 뷰가 있을 경우 갱신하고
존재하지 않을 경우 새로 생성
3. NOFORCE : 기본값 서브쿼리에 작성한 테이블이 존재해야지만 뷰를 생성
4.VIEW
5.테이블명
'ORACLE SQL' 카테고리의 다른 글
SQL 아침 복습 자료 문제 풀이 (1) | 2024.08.01 |
---|---|
SQL JDBC 회원 관리 프로그램 _ INSERT (0) | 2024.07.31 |
ORACLE SQL JAVA 적용 시키기 (0) | 2024.07.30 |
ORACLE SQL DDL 복습 내용 정리 (0) | 2024.07.30 |
ORACLE SQL_DML (0) | 2024.07.29 |