Sio's Programming
CRUD PK 생성 본문
//// PK 생성
SELECT LPAD(NVL(MAX(GWAMOK_CD), SUBSTR(#{JUGWAN_HAKGWA_CD}, -2)||LPAD('0', 3, '0'))+1, 5, '0') AS GWAMOK_CD
FROM HL_GWAMOK_C
WHERE JUGWAN_HAKGWA_CD = #{JUGWAN_HAKGWA_CD}
NVL(MAX(GWAMOK_CD) // GWAMOK_CD의 MAX값을 구함
SUBSTR(#{JUGWAN_HAKGWA_CD}, -2) // JUGWAN_HAKGWA_CD 학과코드 변수값에서 -2 뒤에 두글자를 자름 (1817이 값이면 17울 자름)
|| <- 문자열 붙이기
LPAD('0', 3, '0') // '0' = 값 , 3 = 자릿수, '0' = 자릿수에 넣을 값 (001)
LPAD()+1,5,'0') // 5자릿수에서 앞에 0으로 채우고 1부터 증가한다.
distinct() // 데이터 중복제거해서 보여줌
dual() // 임시테이블
'업무 공부 > Oracle' 카테고리의 다른 글
| Oracle (rownum, mod) (0) | 2018.06.05 |
|---|