Transaction in SQL

- Transaction
- 개념
- 문법
주요 메모 사항 📔
Transaction
개념
- 트랜잭션이라 함은 하나의 작은 논리적인 작업단위를 나타낸 것이다.
- 데이터베이스의 데이터를 변경하거나 검색하는 과정에서 데이터의 일관성과 무결성을 유지하기 위해 필요한 기능
- 데이터를 주고받는 SQL에서도 당연하게 Transaction의 단위를 나타낼 수 있다.
문법
BEGIN;
SELECT ~ FROM TABLE_NAME;
DELETE FROM TABLE_NAME WHERE ~;
COMMIT;
- BEGIN 과 COMMIT 까지 한 트랜잭션 블록단위로 묶인다.
- 종료할 때 COMMIT 이외에도 END를 사용할 수 있다.
- END는 트랜잭션을 종료하고 모든 작업을 롤백하는 데 사용되며, COMMIT은 트랜잭션을 종료하고 작업을 영구적으로 데이터베이스에 저장하는 데 사용됩니다. 대부분의 경우 COMMIT을 사용하여 트랜잭션을 종료하고 작업을 확정시키는 것이 일반적이다.
BEGIN;
UPDATE accounts SET balance = balance - 100.00
WHERE name = 'Alice';
SAVEPOINT my_savepoint;
UPDATE accounts SET balance = balance + 100.00
WHERE name = 'Bob';
-- 에구 ... Wally한테 가야하는 거였는데...
ROLLBACK TO my_savepoint;
UPDATE accounts SET balance = balance + 100.00
WHERE name = 'Wally';
COMMIT;
- SAVEPOINT, ROLLBACK TO 를 통해 만약 트랜색션이 도중에 실패했을 때에 대해 안전장치를 마련해둘 수 있다.
- ROLLBACK TO 로 SAVEPOINT로 설정해둔 위치로 이동할 수 있지만 그러나, 한번 특정한 SAVEPOINT로 간 이후 저장해두었던 다른 SAVEPOINT들은 모두 취소되어 사라져 버린다.
- 위의 예제에서는, ROLLBACK TO를 사용해서 Bob에 보내야하는걸 다시 롤백시킨다음 올바른 입금 계좌로 업데이트 한다.
https://www.postgresql.org/docs/current/sql-begin.html
BEGIN
BEGIN BEGIN — start a transaction block Synopsis BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ] where …
www.postgresql.org
https://postgresql.kr/docs/9.5/tutorial-transactions.html
트랜잭션
트랜잭션 transaction 이란 모든 데이터베이스 시스템에서 기본적인 한 개념입니다. 트랜잭션의 핵심은 여러개의 작업이 최종적으로는 하나로 취급된다는 것입니다. 이것을 전부 적용 아니면 전부
postgresql.kr
추후 알아볼 사항 🔎
트랜색션의 원리 - CDC, WAL
https://m-falcon.tistory.com/527
[PostgreSQL] Transaction 왜, 언제, 어떻게 동작하나?
🎯 Goals 트랜잭션의 사용 방법을 알아본다. 트랜잭션이 동작 원리를 그림으로 정리한다. 동작원리 이해를 위해 WAL, CDC가 무엇인지 알아본다. 1. 트랜잭션 사용 방법 BEGIN 트랜잭션 블록 초기화 키
m-falcon.tistory.com
'기타' 카테고리의 다른 글
SQL Window함수 - 그룹 내 행 순서 관련 함수, 순위함수 (0) | 2023.09.05 |
---|---|
레코드 가져오는 SQL 함수 fetchone? fetchall? (0) | 2023.08.30 |
Linux Daemon 프로세스 (0) | 2023.08.24 |
SQL Window함수를 알아보자 (0) | 2023.08.23 |
웹 페이지에서의 동적 콘텐츠 생성? (CGI, WSGI, ASGI) (0) | 2023.08.22 |