● DCL(Data Control Language)
- 데이터 제어어
- A라는 계정의 테이블에 DML을 사용하기 위해서는 A 계정에게 권한을 부여받아야 한다.
● DCL 종류
1. GRANT : 권한 부여
- GRANT 권한명(ROLE 이름), 권한명2, ... TO 계정명



2. REVOKE : 권한 강탈
- REVOKE 권한명(ROLE 이름) FROM 계정명

3. ROLE
- 권한이 뭉쳐 있는(모여 있는) 상태
- 종류 : CONNECT, RESOURCE, DBA
- connect 사용

※ 다른 계정의 테이블 복사
- as : as 뒤의 select로 가져온 테이블의 모든 정보를 가져온다.

(ex) scott 테이블에서 SALGRADE를 복사한 후 GRADE 컬럼명을 LEVEL로 변경, 값을 반대로 바꾸기
※ cmd에서 flower 테이블에게 salgrade 검색 권한 부여 후 진행
1. scott 테이블에서 SALGRADE를 복사한 후
CREATE TABLE SALGRADE AS SELECT * FROM SCOTT.SALGRADE;
2. GRADE 컬럼명을 LEVEL로 변경
ALTER TABLE SALGRADE RENAME COLUMN GRADE TO "LEVEL";
3. 값을 반대로 바꾸기(5 --> 1, ..., 1 --> 5)
UPDATE SALGRADE
SET "LEVEL" = 6 - "LEVEL";
※ 다른 계정에서 가져온 테이블 수정

1. conn hr/hr
- hr 계정 로그인
2. grant update on emp to baby;
- baby 계정에게 emp 테이블의 수정 권한 부여
3. conn baby/baby
- baby 계정 로그인
4. update copy_emp set sal = 1000 where ename = 'SMITH';
- 'SMITH'의 'sal'을 1000으로 수정
5. commit
※ 전체 플로우
1. 계정 생성
2. tablespace 생성

3. 기존 계정과 생성한 tablespace 연동
4. 권한 주기
5. 테이블 생성 후 [DDL/DML/DCL] 사용