โ 2025-05-12 NVL ํจ์ + ์ ๋ฌธ๋ฒ์ ๋ด์ญ ํ ์ด๋ธ ์ ๋ฆฌ
๐ NVL ํจ์๋?
NVL(๊ฐ1, ๊ฐ2)
๊ฐ1
์ดNULL
์ผ ๊ฒฝ์ฐ,๊ฐ2
๋ก ๋์ฒดํ์ฌ ๋ฐํNULL
๋ก ์ธํด ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ ์ํฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉ
๐น ์์:
SELECT NVL(์ ํ๋ฒํธ, '์์') FROM ๊ณ ๊ฐ; -- โ ์ ํ๋ฒํธ๊ฐ NULL์ธ ๊ฒฝ์ฐ '์์'์ผ๋ก ์ถ๋ ฅ๋จ
๐ Oracle Sequence ๊ฐ๋
- Oracle์์ ์๋์ผ๋ก ์ซ์๋ฅผ ์ฆ๊ฐ์ํค๋ ๊ฐ์ฒด
- ์ผ๋ จ๋ฒํธ(PK)๋ฅผ DB๊ฐ ์๋์ผ๋ก ์์ฑํ๋๋ก ํ ์ ์์
๐น ์์:
SELECT ์ํ์ค๋ช
.NEXTVAL FROM DUAL; -- โ ๋ค์ ์ผ๋ จ๋ฒํธ๋ฅผ ๊ฐ์ ธ์ค๋ ์ฟผ๋ฆฌ
- ๋ณดํต
INSERT
์ ์ ํธ์ถํ์ฌ DTO์ ๊ฐ ์ธํ ํ ์ฌ์ฉ
โ ๏ธ ์ ๋ถ์ํ์์๋?
- ์ํ์ค ์ฌ์ฉ ์ DB ๊ถํ์ด ํ์
- ์์ฒญ/๋ฑ๋ก ์ ์ฐจ๊ฐ ๋ฒ๊ฑฐ๋ก์ ์ค๋ฌด์์๋
MAX + 1
๋ฐฉ์์ผ๋ก ๋์ฒดํ๋ ๊ฒฝ์ฐ๋ ์์ - ๋จ, ๋์์ฑ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ โ ๋ค์ค ์ฌ์ฉ์ ํ๊ฒฝ์์๋ ๋น๊ถ์ฅ
๐ ์ ๋ฌธ๋ฒ์ ๋ด์ญ ํ ์ด๋ธ ๊ตฌ์กฐ
์ปฌ๋ผ๋ช | ์ค๋ช |
---|---|
์ ํ์๊ธ์ต๋ง์๋น์ค์๋ณ๊ฐ | ์ฐ๊ณ ์๋น์ค ID (์: TX_SVC_ID ) |
์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ํ์ฝ๋ | ์ ๋ฌธ์ ๋ถ๋ฅ ์ฝ๋ (์: TX_TP_CD ) |
์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ์ฉ์ผ์ | ์ ๋ฌธ์ ์ ์ฉ ์์์ผ (YYYYMMDD ) |
์ ํ์๊ธ์ต๋ง์ ๋ฌธ๋ฒ์ ๋ฒํธ | ์ ๋ฌธ์ ๋ฒ์ ๋ฒํธ (์ ๋ ฌ ๊ธฐ์ค) |
์ผ๋ จ๋ฒํธ | ๊ณ ์ ์๋ณ์ (PK ๋๋ ์ ๋ ฌ ๊ธฐ์ค) |
ํ๊ตญ์ํ์์ฅ์ํ์ฝ๋ | ์ ๋ฌธ์ ์ฌ์ฉ ์ํ (์: ์ ํจ/๋ฏธ์ฌ์ฉ ๋ฑ ์ํ๊ฐ) |
๐ ์ฐ๊ณ ๊ธฐ์ค ๋ฐ ์ค๋ฌด ํ์ฉ
- ์ ์ปฌ๋ผ๋ค์ ๊ธฐ์ค์ผ๋ก ์กฐํ / ๋ฑ๋ก / ์์ ๊ด๋ จ ์ฐ๊ณ ๋ก์ง ๊ตฌ์ฑ
๐น ์์ ์ฌ์ฉ ๋ฐฉ์:
-
๋จ๊ฑด ์กฐํ:
์ ๋ฌธ์ ํ์ฝ๋ + ๋ฒ์ ๋ฒํธ
๋ก ์กฐํ -
๋ชฉ๋ก ์กฐํ:
์ ๋ฌธ์ ํ์ฝ๋
๊ธฐ์ค ์กฐ๊ฑด ์ค์ -
๋ฑ๋ก/์์ :
์ ๋ฌธ์ ํ์ฝ๋ + ๋ฒ์ ๋ฒํธ
์ค๋ณต ์ฌ๋ถ ํ์ธ ํ์
๐ง ์ค๋ฌด ์ฐธ๊ณ ์ฌํญ
-
์ ๋ฌธ๋ฒ์ ๋ฒํธ
๋ **์ค๋ณต ๋ฐฉ์ง ๋ฐ ์ ๋ ฌ์ฉ ํค(PK ํ๋ณด)๋ก ํ์ฉ๋จ -
์ผ๋ จ๋ฒํธ
๋ ์ ๋ ฌ ๊ธฐ์ค ๋๋ ๊ณ ์ ์๋ณ์ ์ญํ -
์ ์ฉ์ผ์
๋ ์ ๊ท ์ ์ฉ ์์ ํ๋จ ๋ฐ ๊ณผ๊ฑฐ ๋ฒ์ ๊ด๋ฆฌ์ ํ์