π 2025-05-14 λ½μ‘°ν κ°λ λ° Sequence μ 리
π λ½μ‘°νλ?
- μ μ: νμ¬ ν μ΄λΈ νΉμ λ μ½λμ λ½(Lock) μ΄ κ±Έλ € μλμ§λ₯Ό νμΈνλ μ‘°ν μ°κ³
- λͺ©μ : λ€λ₯Έ μ¬μ©μκ° λ°μ΄ν°λ₯Ό μ‘°μνκ³ μμ λ λμ μ²λ¦¬ μΆ©λ λ°©μ§
π οΈ μ¬μ© μμ
- INSERT, UPDATE, DELETE κ°μ DML μ°μ°μ μννκΈ° μ μ λ½μ΄ κ±Έλ € μλμ§ νμΈ
- λ½μ΄ κ±Έλ € μλ€λ©΄ μ¬μ©μμκ² μλ €μ£Όκ³ μ°μ°μ λ§μ
β μ€λ¬΄μμλ?
- λ½μ‘°νμ© EBI OPλ₯Ό λ³λλ‘ λ§λ€μ΄μ μ¬μ©νλ κ²½μ° λ§μ
- 쿼리 μμ:
SELECT *
FROM ν
μ΄λΈλͺ
WHERE 쑰건
FOR UPDATE NOWAIT;
β MAX ν¨μμ νκ³
-
MAX + 1
λ°©μμΌλ‘ μΌλ ¨λ²νΈλ₯Ό ꡬνλ κ²½μ° -
μ¬λ¬ μ¬μ©μκ° λμμ μ‘°ννλ©΄ μ€λ³΅λ λ²νΈκ° λ°μν μ μμ
-
μ΄λ‘ μΈν΄ PK μ€λ³΅ μ€λ₯, λ°μ΄ν° λ¬΄κ²°μ± μ€λ₯ λ°μ κ°λ₯
π Oracle Sequence μ¬μ©νλ μ΄μ
-
μνμ€(Sequence): Oracleμ΄ μ 곡νλ μΌλ ¨λ²νΈ μλ μμ± κ°μ²΄
-
μ₯μ :
-
μ€λ³΅ μλ μ μΌν μ«μ μμ±
-
λμ μ κ·Όμλ μΆ©λ μμ
-
νΈλμμ κ° μμ νκ² κ΄λ¦¬λ¨
-
μ¬μ© μμ:
SELECT μνμ€λͺ
.NEXTVAL FROM DUAL;
λ³΄ν΅ INSERT μ μ μνμ€μμ λ€μ κ°μ λ°μμμ PKλ μΌλ ¨λ²νΈλ‘ μ¬μ©ν¨
π§ μ€λ¬΄ μ°Έκ³
-
μ λΆμνμμλ μνμ€ μ¬μ©μ κΆνμ΄ νμνλ―λ‘ μν©μ λ°λΌ μ¬μ© μ¬λΆ κ²°μ
-
λ°μ΄ν° μΆ©λ μνμ΄ μλ κ²½μ°μλ λ°λμ Sequence μ¬μ©μ΄ κΆμ₯λ¨