컴퓨터/정보처리기사 DB

| 니앙팽이 - DB | 9 | SQL - DCL(데이터 제어어)

no title

9 DCL 데이터 제어어

# SecuIntegrecover 병 🤣

데이터의 보안,무결성,회복, 병렬 제어를 정의하는데 사용하는 언어다.

1. GRANT / REVOKE

/******************************************************
* 기본형
******************************************************/

GRANT   
    {ALL, SELECT, INSERT, DELETE, UPDATE, ALTER}    
    ON _TABLE_ 
    TO _USER_ID_
[WITH GRANT OPTION];

REVOKE  
    {ALL, SELECT, INSERT, DELETE, UPDATE, ALTER}    
    ON  _TABLE_
FROM _USER_ID_ [CASCADE];

/******************************************************
Example 3: Grant all privileges 
on table DSN8D10.EMP to users KWAN and THOMPSON, with the WITH GRANT OPTION.
******************************************************/

GRANT ALL ON DSNB10.EMP TO KWAN, THOMPSON WITH GRANT OPTION;

/******************************************************
Example 5: Revoke the ALTER privileges 
on the table DSN8D10.EMP that were previously granted to role ROLE1:
******************************************************/


REVOKE ALTER ON DSNBD10.EMP FROM KWAN;

2. COMMIT / ROLLBACK /SAVEPOINT

트랜젝션은 DML문의 실행 성공 여부에 따라서 결정된다.

COMMIT : 트랜잭션 처리가 완료된 후 트랜젝션 수행 내용을 DB에 반영하는 명령
ROLLBACK : 트랜잭션 처리가 완료는 되었지만, Commit 되지 않는 내용들을 취소하고 DB를 이전 상태로 돌리는 명령어
SAVEPOINT : ROLLBACK할 위치인 저장점을 지정하는 명령어

SAVEPOINT _POINT_NAME_
/*[DML]*/
COMMIT

ROLLBACK TO _POINT_NAME_