SQL - 트랜잭션, TCL
트랜잭션
데이터를 변경하는 논리적인 단위.
하나 이상의 DML문 or DDL문 하나 or DCL문 하나로 구성
트랜잭션 종료시점
• COMMIT 또는 ROLLBACK 문이 실행된 경우
• DCL 문이 실행된 경우
• 사용자가 SQL*Plus 를 종료하는 경우
• 시스템에 장애가 있거나 시스템이 고장 난 경우
• DDL 문 (예: CREATE TABLE) 이 실행된 경우
TCL
- COMMIT
- ROLLBACK
- SAVEPOINT
COMMIT : 트랜잭션을 DB에 반영하고 종료
ROLLBACK : 트랜잭션을 취소하고 종료
SAVEPOINT : 저장 기준점. COMMIT 하면 모두 초기화된다.
SQL> INSERT INTO DEPT
VALUES (99, ‘인사과’, ‘서울’);
SQL> SAVEPOINT A; --INSERT문의 실행까지를 표시
SQL>
SQL> UPDATE EMP
SET MGR = 7902
WHERE EMPNO = 7934;
SQL> ROLLBACK TO A; --UPDATE문만 실행취소되며, INSERT문의 트랜잭션은 유효함
SQL>
SQL> DELETE FROM EMP;
SQL> COMMIT; --SAVEPOINT A 이후에 실행된 INSERT와 DELETE문의 결과가 테이블에 영구히 반영.
명시적(Explicit) Transaction 제어
• COMMIT
• SAVEPOINT 이름
• ROLLBACK
묵시적(Implicit) Transaction 제어
• 자동 COMMIT
i. DDL (DDL은 하나의 명령어가 하나의 트랜잭션)
ii. DCL (GRANT, REVOKE)
iii. exit
• 자동 ROLLBACK
i. 비정상적 종료
Author And Source
이 문제에 관하여(SQL - 트랜잭션, TCL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mindddi/SQL-트랜잭션-TCL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)