보통 시퀀스는 main pk 1개 사용하기 .. 위와 같은 질문은 잘 안하는데..
왜 그럴까 생각해 봤습니다.
제생각 맞다면 pk가 년도별 + sequence로 사용하고 계신듯 하군요.
일단 년도별로 sequence가 1부터 시작하는 방법은 없는거 같구요.
만약, 저라면 아래와 같이 할거 같네요.
1. sequence를 년도별로 생성
- sq_sale_2019
- sq_sale_2020
- sq_sale_2021
- sq_sale_2022
- ...
2. sequence 호출
SELECT CASE WHEN argument.년도 = '2019' THEN sq_sale_2019.NEXTVAL
WHEN argument.년도 = '2020' THEN sq_sale_2020.NEXTVAL
WHEN argument.년도 = '2021' THEN sq_sale_2021.NEXTVAL
WHEN argument.년도 = '2022' THEN sq_sale_2022.NEXTVAL
END CASE
FROM DUAL;
- 아니면 위 SQL문장을 function으로 만들어서 dynamic sql로 생성하면
case문이 위와 같이 여러가 아니여도 될거 같구요.
** 응용 잘 해서 성공하세요.