2025/05/28 2

[Oracle] 빈 값을 채워 Sequence 채번하기

oracle에서 Sequence 값을 순서대로 채번하여 테이블의 key 값으로 넣어주는 경우가 있을 것이다.보통은 단순하게 MAX + 1을 하여 값을 저장하게 된다.그런데 채번하여 저장된 이 값의 중간 데이터가 삭제되는 경우, key값이 중간에 빠지는 경우가 발생하게 된다.이러한 경우를 방지하기 위하여 채번할 때 중간에 빠지는 값이 없이 저장하는 방법에 대해 알아보자. 1) 채번하는 코드의 시작과 끝을 아는 경우: 이 경우는 채번값의 시작과 끝이 어떤 값으로 저장되는지, 즉 코드값의 범위를 아는 경우이다.예를 들어, key 값이 한 자리 수이고 시작 채번값이 1이라면 범위는 1~9일 것이다.이 경우에는 아래 예시와 같이 코드를 작성하면 된다.WITH DATA_TABLE AS ( SELECT '1' ..

DataBase/Oracle 2025.05.28

[Oracle] REPLACE 함수와 TRANSLATE 함수의 차이점

문자열 치환 관련 함수에는 대표적으로 REPLACE 함수가 있다.이와 비슷한 역할을 하는 또다른 문자열 함수로는 TRANSLATE 함수가 있다.REPLACE와 TRANSLATE 함수 둘 다 해당 지정된 문자열을 바꿔주는 역할을 하지만, 약간의 차이점이 있다.이 차이점에 대해 알아보자. 1) REPLACE 함수1-1) 문법: REPLACE("컬럼명 or 문자열", "찾을문자", "치환문자")1-2) 예시1SELECT REPLACE('WATERMELON', 'E', '@#!')FROM DUAL;결과값 1-3) 예시2SELECT REPLACE('WATERMELON', 'WTR', '@#!')FROM DUAL;결과값 1-4) 특징: 치환할 문자열인 char 문자열에 대하여, 찾을 문자열이 정확히 맞지 않으면 치..

DataBase/Oracle 2025.05.28