SQL/ETC(DCL, TCL)

ETC(DCL, TCL)

jjhim531 2024. 8. 31. 20:13
반응형

[ DCL : 데이터 제어문 ]

계정에게 시스템 권한 또는 객체접근 권한을 부여하거나 회수하는 구문

> 시스템권한

DB에 접근하는 권한, 객체를 생성할 수 있는 권한

> 객체접근권한

특정 객체들을 조작할 수 있는 권한
    

 CREATE USER 계정명 IDENTIFIED BY 비밀번호;
 GRANT 권한(RESOURCE, CONNECT) TO 계정;

 [ TCL : 트랜잭션 제어문 ]

* 트랜잭션

데이터베이스의 논리적 연산단위. 데이터의 변경사항(DML)등을 하나의 트랜잭션에 묶어서 처리

DML문 한개를 수행할 때 트랜잭션이 존재하지 않는다면 트랜잭션을 만들어서 묶음
                                         트랜잭션이 존재한다면 해당 트랜잭션에 묶어서 처리

COMMIT하기 전까지의 변경사항들을 하나의 트랜잭션에 담는다.

- 트랜잭션에 대상이 되는 SQL : INSERT,  UPDATE,  DELETE

  • COMMIT(트랜잭션 종료 처리 후 확정) : 한 트랜잭션에 담겨있는 변경사항들을 실제 DB에 반영시키겠다는 의미
  • ROLLBACK(트랜잭션 취소) : 한 트랜잭션에 담겨있는 변경사항들을 삭제(취소) 한 후 마지막 COMMIT시점으로 돌아감
  • SAVEPOINT(임시저장) 포인트명 : 현재 시점에 해당 포인트명으로 임시저장을 해두는 것

DDL문(CREATE, ALTER, DROP)을 수행하는 순간 기존 트랜잭션에 있던 변경사항들은 무조건 COMMIT이 된다

(실제 DB반영이 된다.)

즉, DDL문 수행전 변경사항들이 있다면 정확하게 픽스하고 해라!

728x90
반응형