-
16일차 - 트랜잭션과 관련된 명령문프로그래밍 언어/데이터베이스(SQL, MARIADB) 2024. 2. 15. 16:06
트랜잭션
■ 트렌젝션은 데이터베이스에서 사용되는 쪼갤 수 없는 업무처리 단위이다
■ 하나의 작업 내부의 과정이 잘못되면 전부 취소 되어야한다
트랜잭션의 이해
은행의 출금과 송금의 트랜젝션
A 의 계좌의 잔액을 확인한다
잔액에서 백만원을 뺀다
B 의 계좌를 확인한다 -> 오류 발생시 rollback
B 의 계좌 잔액을 확인한다
잔액에 백만원을 더한다
트랜잭션과 관련된 명령문
■ commit 과 rollback 은 데이터(DML)에 한정 된다
■ DCL, DDL 은 트랜젝션이 해당되지 않고 절대로 되돌릴 수 없다
Rollback
■ 돌돌 말아서 뒤로 간다
■ 트랜잭션 시작 이전의 상태로 되돌리는 것
Commit
■ 트랜잭션 도중 오류가 발생하지 않았다면 데이터를 데이터베이스에 반영시키는 것
AutoCommit
■ 껏다 키면 맨날 자동으로 커밋해준다
-- transaction -> TX -- 1) AUTO COMMIT 여부 select @@autocommit; -- 1 은 autocommit 이 사용중이다, 0 은 아니다 -- Auto Commit On|Off set autocommit = 1; -- autocommit on set autocommit = 0; -- autocommit off -- ★ commit 과 rollback 은 데이터(DML)에 한정 된다 -- DCL, DDL 은 트랜젝션이 해당되지 않고 절대로 되돌릴 수 없다 select * from employees; update employees set commission = 10 where emp_no = 129; commit; -- COMMIT 하지 않은 내용에 대해서 되돌릴 수 있다 delete from employees; rollback;
'프로그래밍 언어 > 데이터베이스(SQL, MARIADB)' 카테고리의 다른 글
20일차 - 정규화 (0) 2024.02.22 19일차 - INDEX, IN, EXISTS, VIEW (0) 2024.02.19 18일차 - 서브쿼리, 조인, 집합 (0) 2024.02.16 17일차 - 컬럼의 제약조건 (0) 2024.02.15 14,15일차 - 데이터베이스 DDL, DCL, DML (0) 2024.02.13