Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- forNmae()
- 컴포넌트 주도
- 자료구조
- VUE
- REDIS
- quert
- 트리 회전
- EBS
- redux
- ACCESS_REFUSED
- Express
- 애그리거트
- 리액트
- exiting abnormally
- rabbitmq 에러
- Java Reflextion API
- 리덕스
- 커스텀 로그인
- 오라클 병렬처리
- AWS
- 도커빌드
- paraller
- .getClass()
- 리덕스 공식문서
- 네임드 뷰
- 오라클
- 자바
- $emit()
- react
- vue.js
Archives
- Today
- Total
개발정리
SELECT FOR UPDATE문 본문
SELECT FOR UPDATE문이란?
- 트랜잭션 내에서 레코드를 잠그기 위해 사용
- 다중 사용자 환경에서 데이터 무결성을 유지하면서 동시성 제어를 위해 사용됩니다.
- 데이터 무결성 : 데이터의 정확성, 일관성, 유효성이 유지되는 것
SELECT * FROM 테이블명 WHERE 조건 FOR UPDATE;
이 쿼리는 조건에 맞는 행들으 선택하고 , 해당 행에 대해 업데이트 잠금을 걸어 다른 트랜잭션이 해당 행을 수정하지 못하도록 합니다.
SELECT FOR UPDATE문의 옵션
- NOWAIT
- SELECT FOR UPDATE문에서 잠금을 기다리지 않도록 설정합니다.
- 만약 해당 행이 이미 잠겨있다면, 트랜잭션은 즉시 오류를 발생시키며 대기하지 않고 끝납니다.
- SKIP LOCKED
- SKIP LOCKED는 다른 트랜잭션이 잠그고 있는 행을 건너뛰고, 잠금이 걸리지 않은 행만 선택합니다.
- 이 옵션은 “기다리지 않고, 가능한 행만 선택”하는데 사용됩니다. 예를 들어, 데이터베이스에서 다른 트랜잭션에 의해 잠긴 데이터를 무시하고, 처리할 수 있는 데이터만 빠르게 처리하고자 할 때 유용합니다.
- WAIT [seconds]
- WAIT 옵션은 다른 트랜잭션이 잠금을 해제할 때까지 일정 시간동안 기다리도록 설정할 수있습니다.
- WAIT 시간 내에 잠금을 획득하지 못하면, 쿼리는 오류를 발생시키지 않고 그냥 종료됩니다.
'CS > SQL' 카테고리의 다른 글
[오라클] dual테이블에 대해서 (0) | 2025.04.16 |
---|---|
오라클 PL/SQL 알아보기 (0) | 2025.04.13 |
오라클 paraller 문 (0) | 2025.03.05 |
[오라클] MERGE 문 (0) | 2025.03.02 |
OVER와 PARTITION BY 에 대하여 (1) | 2024.12.25 |