1. μλ‘
μλ‘ μμλ μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€μμ insert μμ μ μνν λ μλμΌλ‘ μ¦κ°νλ 컬λΌμ λ€λ£¨λ κ°λ μ λν΄ μ€λͺ ν κ²μ λλ€. μ΄λ² κΈμμλ ν΄λΉ 컬λΌμ μ΅λκ°μ μ°Ύκ³ , κ·Έ κ°μ 1μ λν΄μ£Όλ λ°©λ²μ λν΄ λ€λ£° κ²μ λλ€. μ΄λ₯Ό ν΅ν΄ λ°μ΄ν°λ² μ΄μ€μ λ°μ΄ν°λ₯Ό μ μ₯ν λ μλμΌλ‘ μ¦κ°νλ μλ³μλ₯Ό λ€λ£¨λ λ°©λ²μ μμ보λλ‘ νκ² μ΅λλ€.
2. μ€λΌν΄ insert μλμ¦κ° 컬λΌμ κ°λ
μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€μμλ μλμΌλ‘ μ¦κ°νλ 컬λΌμ μμ±ν μ μμ΅λλ€. μ΄λ¬ν 컬λΌμ μΌλ°μ μΌλ‘ μλ³μλ‘ μ¬μ©λλ©°, κ° νμ λν΄ κ³ μ ν κ°μ μλμΌλ‘ μμ±ν΄μ€λλ€. μ΄λ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό μ½κ² μλ³νκ³ κ΄λ¦¬ν μ μκ² λ©λλ€.
μλμ¦κ° 컬λΌμ μμ±νκΈ° μν΄μλ λ°μ΄ν°νμΌλ‘ NUMBER
λ₯Ό μ ννκ³ , GENERATED ALWAYS AS IDENTITY
μ κ°μ μμ±μ μ§μ ν΄μΌ ν©λλ€. μ΄λ κ² ν κ²½μ°, 컬λΌμ κ°μ INSERT λ¬Έμ μ€νν λ μλμΌλ‘ μ¦κ°νκ² λ©λλ€.
μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ΄ μλμ¦κ° 컬λΌμ μμ±ν μ μμ΅λλ€.
CREATE TABLE my_table (
id NUMBER GENERATED ALWAYS AS IDENTITY,
name VARCHAR2(50),
age NUMBER
);
μμ μμμμ id
컬λΌμ μλμΌλ‘ μ¦κ°νλ 컬λΌμΌλ‘ μ€μ λμμ΅λλ€. INSERT λ¬Έμ μ€νν λλ§λ€ id
κ°μ μλμΌλ‘ μ¦κ°νμ¬ κ³ μ ν κ°μ κ°μ§κ² λ©λλ€. μ΄ν λ°μ΄ν° μ‘°νλ μμ λ±μ μμ
μλ μ΄ μλ³μλ₯Ό μ¬μ©νμ¬ νΉμ νμ μ°Ύμ μ μμ΅λλ€.
3. μλμ¦κ° 컬λΌμ μ΅λκ° μ°ΎκΈ°
μλμ¦κ° 컬λΌμ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μ½μ ν λλ§λ€ ν΄λΉ 컬λΌμ μλμΌλ‘ μ¦κ°νμ¬ κ³ μ ν κ°μ κ°μ§κ² λ©λλ€. λλ‘λ μ΄λ° μλμ¦κ° 컬λΌμ μ΅λκ°μ μ°Ύκ³ , κ·Έ κ°μ κΈ°λ°μΌλ‘ λ€μμ μ½μ λ κ°μ λν μμΈ‘μ΄ νμν μ μμ΅λλ€. μλλ μλμ¦κ° 컬λΌμ μ΅λκ°μ μ°Ύλ λ°©λ²μ λλ€.
SELECT MAX(id) FROM my_table;
μμ 쿼리λ₯Ό μ€ννλ©΄ my_table
ν
μ΄λΈμ id
컬λΌμ μ΅λκ°μ΄ λ°νλ©λλ€. μ΄λ₯Ό κΈ°λ°μΌλ‘ λ€μμ μ½μ
λ κ°μ λν μμΈ‘μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ΅λκ°μ΄ 10μ΄λΌλ©΄ λ€μμ μ½μ
λ κ°μ 11μ΄ λ κ²μ
λλ€.
λν, μλμ¦κ° 컬λΌμ μ΅λκ°μ μ°Ύμ λ νΉμ 쑰건μ μ μ©ν μλ μμ΅λλ€. μλ₯Ό λ€μ΄, νΉμ 쑰건μ λ§μ‘±νλ ν μ€μμ μλμ¦κ° 컬λΌμ μ΅λκ°μ μ°Ύκ³ μ ν λμλ WHERE μ μ μ¬μ©νμ¬ μνλ 쑰건μ μ§μ νλ©΄ λ©λλ€.
SELECT MAX(id) FROM my_table WHERE age > 20;
μμ 쿼리λ my_table
ν
μ΄λΈμμ age
κ° 20λ³΄λ€ ν° νλ€ μ€μμ id
컬λΌμ μ΅λκ°μ μ°Ύκ² λ©λλ€. μ΅λκ°μ μ°Ύλ κ²μ λ§€μ° μ μ©ν μμ
μ΄λ©°, λ€μμ μ½μ
λ κ°μ λν μμΈ‘μ κ°λ₯νκ² ν΄μ€λλ€.
4. μ΅λκ° + 1 μ μ©νκΈ°
μλμ¦κ° 컬λΌμ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μ½μ ν λ, 보ν΅μ ν΄λΉ 컬λΌμ μ΅λκ°μ μ°Ύμ λ€μμ μ΄ κ°μ κΈ°λ°μΌλ‘ λ€μμ μ½μ λ κ°μ λν μμΈ‘μ νκ² λ©λλ€. μλ₯Ό λ€μ΄, νμ¬ ν μ΄λΈμ μλμ¦κ° 컬λΌμ μ΅λκ°μ΄ 10μ΄λΌλ©΄, λ€μμ μ½μ λ κ°μ 11λ‘ μμν μ μμ΅λλ€. λ°λΌμ, μ΄ κ°μ κΈ°λ°μΌλ‘ INSERT λ¬Έμ μμ±νμ¬ μλ‘μ΄ λ°μ΄ν°λ₯Ό μ½μ ν μ μμ΅λλ€.
INSERT INTO my_table (id, name, age)
VALUES ((SELECT MAX(id) + 1 FROM my_table), 'John', 25);
μμ μμμμλ μλ‘μ΄ λ°μ΄ν°λ₯Ό μ½μ
νκΈ° μν΄ INSERT INTO
λ¬Έμ μ¬μ©νμμ΅λλ€. id
컬λΌμ κ°μΌλ‘ (SELECT MAX(id) + 1 FROM my_table)
μ μ¬μ©νμ¬, μ΄μ μ μ μ₯λ λ°μ΄ν°μ μλμ¦κ° 컬λΌμ μ΅λκ°μ 1μ λν κ°μ μ¬μ©νμμ΅λλ€. μ΄λ₯Ό ν΅ν΄ λ€μμ μ½μ
λ κ°μΈ 11μ μμΈ‘νκ³ μλ‘μ΄ λ°μ΄ν°λ₯Ό μ½μ
ν μ μκ² λ©λλ€.
λ€λ§, μ΄ λ°©λ²μ λμμ μ¬λ¬ μ¬μ©μκ° λμμ INSERT λ¬Έμ μ€νν κ²½μ°μλ λ¬Έμ κ° λ°μν μ μμ΅λλ€. λ κ° μ΄μμ μ¬μ©μκ° λμμ μ΅λκ°μ μ°Ύκ³ , κ·Έ κ°μ κΈ°λ°μΌλ‘ INSERT λ¬Έμ μ€ννλ € ν λ, λ μ΄μμ μ¬μ©μκ° λμΌν κ°μ κΈ°λ°μΌλ‘ μ½μ νκ² λ μ μμ΅λλ€. μ΄λ₯Ό ν΄κ²°νκΈ° μν΄μλ λ€λ₯Έ λ°©λ²μ μ¬μ©ν΄μΌ ν μλ μμ΅λλ€. μλ₯Ό λ€μ΄, μνμ€λ νΈλ¦¬κ±°λ₯Ό μ¬μ©νμ¬ κ³ μ ν κ°μ μμ±νκ³ μ΄λ₯Ό μλμ¦κ° 컬λΌμ μ μ©ν μ μμ΅λλ€.
5. κ²°λ‘
μλμ¦κ° 컬λΌμ μ΅λκ°μ μ°Ύκ³ , κ·Έ κ°μ κΈ°λ°μΌλ‘ λ€μμ μ½μ λ κ°μ λν μμΈ‘μ νλ κ²μ λ§€μ° μ μ©ν μμ μ λλ€. μ΄λ₯Ό ν΅ν΄ λ°μ΄ν°λ² μ΄μ€μ κ³ μ ν κ°μ μλμΌλ‘ μμ±νμ¬ μ€λ³΅μ λ°©μ§ν μ μμ΅λλ€.
μλμ¦κ° 컬λΌμ μ΅λκ°μ MAX()
ν¨μλ₯Ό μ¬μ©νμ¬ μ½κ² μ°Ύμ μ μμ΅λλ€. μλ₯Ό λ€μ΄, SELECT MAX(id) FROM my_table
κ°μ ννλ‘ μΏΌλ¦¬λ₯Ό μμ±νλ©΄ ν΄λΉ ν
μ΄λΈμ μλμ¦κ° 컬λΌμΈ id
μ μ΅λκ°μ μ»μ μ μμ΅λλ€.
λν, λ€μμ μ½μ
λ κ°μ μ΅λκ°μ 1μ λν κ°μΌλ‘ μμΈ‘ν μ μμ΅λλ€. λ°λΌμ, μλ‘μ΄ λ°μ΄ν°λ₯Ό μ½μ
ν λμλ (SELECT MAX(id) + 1 FROM my_table)
μ κ°μ ννλ‘ κ°μ μ€μ νλ©΄ λ©λλ€.
νμ§λ§, λμμ μ¬λ¬ μ¬μ©μκ° λμΌν λ°©μμΌλ‘ μ΅λκ°μ μ°Ύκ³ , κ·Έ κ°μ κΈ°λ°μΌλ‘ INSERT λ¬Έμ μ€νν κ²½μ° λ¬Έμ κ° λ°μν μ μμ΅λλ€. μ΄λ₯Ό ν΄κ²°νκΈ° μν΄μλ λ€λ₯Έ λ°©λ²μ κ³ λ €ν΄μΌ ν μλ μμ΅λλ€. μλ₯Ό λ€μ΄, μνμ€λ νΈλ¦¬κ±°λ₯Ό μ¬μ©νμ¬ κ³ μ ν κ°μ μμ±νκ³ , μ΄λ₯Ό μλμ¦κ° 컬λΌμ μ μ©ν μ μμ΅λλ€.
μλμ¦κ° 컬λΌμ μ΅λκ°μ μ°Ύκ³ , μ μ ν κ°μΌλ‘ λ€μμ μ½μ λ λ°μ΄ν°λ₯Ό μμΈ‘νλ κ²μ λ°μ΄ν°λ² μ΄μ€ μμ μμ λ§€μ° μ μ©ν κΈ°λ₯μ λλ€. μ΄λ₯Ό ν΅ν΄ λ°μ΄ν°μ μ ν©μ±μ μ μ§νκ³ , μ€λ³΅μ λ°©μ§ν μ μμ΅λλ€.
λκΈ