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
반응형