[구디아카데미]
DCL
✅ GRANT
GRANT CONNECT TO QWER; // 접속을 할 수 있는 권한을 QWER 계정에 줌
GRANT SELECT ON BS.EMPLOYEE TO QWER;
// (BS계정의 EMPLOYEE 테이블을) 조회할수 있는권한을 QWER 계정에 줌
GRANT UPDATE ON BS.EMPLOYEE TO QWER;
(BS계정의 EMPLOYEE 테이블을) // 수정할수 있는권한을 QWER 계정에
✅ REVOKE
REVOKE UPDATE ON BS.EMPLOYEE FROM QWER; -- QWER 계정에게 UPDATE 권한부여한 것 다시 회수하기
✅ ROLE
CREATE ROLE MYROLE; // (1) 권한 묶음 ROLE 만들기
GRANT CREATE TABLE, CREATE VIEW TO MYROLE; // (2) CREATE와 VIEW 권한을 MYROLE에 저장
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'MYROLE'; // MYROLE에 저장된 권한 조회
GRANT MYROLE TO QWER; // (3) QWER 계정에게 MYROLE 묶음 권한 부여
✅ TCL
💡 트렌젝션 : 하나의 작업단위 한개 서비스
-> 데이터 조작언어(DML) 작업을 완수하기 위한 논리적인 작업 단위
💡 트렌젝션의 대상되는 명령어 : DML(INSERT, UPDATE, DELETE)
✅ ROLLBACK
✅ COMMIT
하나의 작업 단위 예시
- A계좌에서 B계좌로 돈을 이체할 때
-> (1) A계좌 UPDATE (2) B계좌 UPDATE 총 두번이 되어야한다- A계좌에서 돈이빠지는 과정에서 문제가 생겼을 시
-> (1)만 됨- B계좌에서는 돈을 받지 못한상태이다 즉 문제가 생기게된다
-> 즉 (1), (2) 과정을 하나의 작업단위로 묶음
-> 둘 중 하나라도 문제가 생기면 전체 취소됨(ROLLBACK)
-> 다 만족하면 모두 실행됨 (COMMIT)
✅ 트랜잭션의 수행 단계별 상태 변화 과정