본문 바로가기 메뉴 바로가기

H!GHR

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

H!GHR

검색하기 폼
  • 기록하고 정리하기 (97)
    • 월간 미생 (4)
    • JAVA (23)
      • 디자인패턴 (4)
    • DB (10)
      • Mysql (6)
      • Oracle (1)
    • Spring (9)
    • Javascript (4)
    • 오픈API (3)
    • 기초CS (31)
      • 자료구조 (1)
      • 알고리즘 (30)
    • 아키텍처 (1)
    • DevTool (1)
    • Git (2)
    • APP (1)
      • Notice (1)
    • Book (4)
    • 토이프로젝트 (4)
  • 방명록

DB/Oracle (1)
ORACLE 문자 포함 자동 채번 쿼리

일련번호를 'K0001' 'K0002' 이런식으로 증가시켜야한다는 요청을 받고 고민에 빠졌다. 시퀀스 권한도 없어서 JAVA 혹은 SQL로만 해결해야하는데, SELECT해서 자바에서 처리를 하다보면 여러 사람이 동시에 작업할 경우 일련번호가 겹칠 수 있다고 생각했다. 쿼리로 MAX(SEQ) + 1을 해도 겹칠 수 있지 않을까 생각하지만 주어진 상황에선 최선이지 않나 생각했다. 1 SELECT NVL2(MAX(SEQ_NO), 'K'||LPAD(REPLACE(MAX(SEQ_NO), 'K') + 1, 7, '0'), 'K0001') FROM TEST; NVL2로 처음 값이 없을 경우(NULL) 'K0001'로 지정되도록 했다. MAX(SEQ_NO)를 통해 현재 중 가장 큰 일련번호를 가져온다. REPLACE로..

DB/Oracle 2019. 8. 10. 19:39
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • My Github
TAG
  • 완주하지 못한 선수
  • 프로그래머스
  • 알고리즘
  • 노션트렐로광고X
  • 맵 api
  • API
  • 기능개발
  • FrogJmp
  • 객체지향과 디자인패턴
  • json
  • 124 나라의 숫자
  • 최솟값
  • cgv
  • 쇠막대기
  • 텔레그램
  • 다음 맵 api
  • AWS
  • 파이팅코리아
  • 타겟 넘버
  • 더 나은 내일
  • 자바
  • 예매 알림
  • java
  • 카카오인턴
  • codility
  • Spring
  • K번째수
  • 문자열 내 마음대로 정렬하기
  • 안드로이드 스튜디오
  • 스프링 부트
more
«   2025/06   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바