SQLD - WITH 구문 & DCL

헨도·2024년 2월 21일
0

SQLD

목록 보기
23/28
post-thumbnail

WITH 구문

  • WITH 구문은 서브쿼리(SubQuery)를 사용해서 임시 테이블이나 뷰처럼 사용할 수 있는 구문이다.
  • 서브쿼리 블록에 별칭을 지정할 수 있다.
  • 옵티마이저는 SQL을 인라인 뷰나 임시 테이블로 판단한다.
WITH viewData AS
(
SELECT * FROM EMP
	UNION
 SELECT * FROM EMP
)
SELECT * FROM viewdData WHERE EMPNO = 1000;

SubQuery를 사용해서 임시 테이블을 만든다.

DCL(Data Control Language)

GRANT

  • GRANT 문은 데이터베이스 사용자에게 권한을 부여한다.
  • 데이터베이스 사용을 위해서는 권한이 필요하며 연결, 입력, 수정, 삭제, 조회를 할 수 있다.
GRANT privileges ON object TO user;


- privileges 는 권한을 의미하며, object는 테이블 명이다.
- user는 Oracle 데이터베이스 사용자를 지정하면 된다.

Privileges(권한)

권한설명
SELECT지정된 테이블에 대해서 SELECT 권한을 부여한다.
INSERT지정된 테이블에 대해서 INSERT 권한을 부여한다.
UPDATE지정된 테이블에 대해서 UPDATE 권한을 부여한다.
DELETE지정된 테이블에 대해서 DELETE 권한을 부여한다.
REFERENCES지정된 테이블을 참조하는 제약조건을 생성하는 권한을 부여한다.
ALTER지정된 테이블에 대해서 수정할 수 있는 권한을 부여한다.
INDEX지정된 테이블에 대해서 인덱스를 생성할 수 있는 권한을 부여한다.
ALL테이블에 대한 모든 권한을 부여한다.

사용자에 대한 권한 부여

GRANT SELECT, INSERT, UPDATE, DELETE
	ON EMP
    TO LIMBEST;
    

- LIMBEST 사용자에게 EMP 테이블에 대해서 SELECT, INSERT, UPDATE, DELETE 권한을 부여한다.

WITH GRANT OPTION과 ADMIN OPTION

옵션설명
WITH GRANT OPTION- 특정 사용자에게 권한을 부여할 수 있는 권한을 부여한다.
-권한을 A 사용자가 B에 부여하고 B가 다시 C를 부여한 후에 권한을 취소(Revoke)하면 모든 권한이 회수된다.
WITH ADMIN OPTION- 테이블에 대한 모든 권한을 부여한다.
- 권한을 A 사용자가 B에 부여하고 B가 다시 C에게 부여한 후에 권한을 취소(Revoke)하면 B 사용자 권한만 취소된다.

WITH GRANT OPTION

GRANT SELECT, INSERT, UPDATE, DELETE
	ON EMP
    TO LIMBEST WITH GRANT OPTION;
    
- 권한을 부여할 수 있는 권한을 부여한다.

REVOKE

  • REVOKE문은 데이터베이스 사용자에게 부여된 권한을 회수한다.
REVOKE privileges ON object FROM user;
profile
Junior Backend Developer

0개의 댓글