안녕하세요.
이 작업이 가능한지도 모르겠습니다ㅠ. 혹시나 가능할까하여 도움부탁드립니다.
● 수행목표 : 공고의 신청마감일에 신청서 접수번호 부여.
● 테이블 명세 :
1. TBL_NOTICE 공고테이블
CREATE TABLE "TBL_NOTICE" ( "NOTICE_ID" NUMBER NOT NULL, "NOTICE_END_DAY" VARCHAR2(50 BYTE) NULL , "NOTICE_END_HOUR" VARCHAR2(50 BYTE) NULL, "NOTICE_END_MIN" VARCHAR2(50 BYTE) NULL, "NOTICE_CODE1" VARCHAR2(50 BYTE) NULL, "NOTICE_CODE2" VARCHAR2(50 BYTE) NULL )
2. TBL_APPLY 신청서 테이블
CREATE TABLE "TBL_APPLY" ( "APPLY_ID" NUMBER NOT NULL, "NOTICE_ID" NUMBER NOT NULL )
3. TBL_APPLY_MAPPING 신청서매핑 테이블
CREATE TABLE "TBL_APPLY_MAPPING" ( "APPLY_ID" NUMBER NOT NULL , "APPLY_NUM" VARCAHR2(20) NOT NULL )
● 용어정리
신청마감일 :
TBL_NOTICE.NOTICE_END_DAY + " " + TBL_NOTICE.NOTICE_END_HOUR + ":" + TBL_NOTICE_END_MIN
EX) 2018-12-04 16:05
접수번호규칙 :
TBL_NOTICE.NOTICE_CODE1 + "_" + TBL_NOTICE.NOTICE_CODE2 + "_" + 0000 ~
TBL_NOTICE.NOTICE_CODE1 + "_" + TBL_NOTICE.NOTICE_CODE2 + "_" + 9999
EX) CODE1VALUE_CODE2VALUE_0001 ~ CODE1VALUE_CODE2VALUE_9999
● 상세수행목표 :
1. TBL_NOTICE에 있는 데이터의 신청마감일에 TBL_APPLY_MAPPING.APPLY_NUM을 변경하는 UPDATE문이 실행되어야 합니다.
2. TBL_NOTICE.NOTICE_ID를 FK로 TBL_APPLY의 데이터가 생성됩니다. 그리고 TBL_APPLY.APPLY_ID를 FK로 TBL_APPLY_MAPPING이 생성됩니다. 즉, TBL_NOTICE의 데이터가 갖는 신청마감일에 해당 데이터의 NOTICE_ID를 FK로 갖는 모든 데이터에 UPDATE가 실행됩니다.
3. 접수번호는 0000 ~ 9999 까지의 숫자를 중복되지 않게 입력합니다.
4. TBL_NOTICE.NOTICE_CODE1과 TBL_NOTICE.NOTICE_CODE2가 동일한 데이터가 있으면 접수번호의 숫자를 그 뒤부터 이어서 입력합니다.
ex)
NOTICE_ID | NOTICE_END_DAY | NOTICE_END_HOUR | NOTICE_MIN | NOTICE_CODE1 | NOTICE_CODE2 |
100 | 2018-12-05 | 18 | 00 | CODE1VALUE | CODE2VALUE |
101 | 2019-02-20 | 18 | 30 | CODE1VALUE | CODE2VALUE |
NOTICE_ID가 100인 데이터와 NOTICE_ID가 101인 데이터의 NOTICE_CODE1과 NOTICE_CODE2가 모두 동일합니다.
이경우 NOTICE_ID가 100인 데이터의 접수번호를 CODE1VALUE_CODE2VALUE_0000부터 CODE1VALUE_CODE2VALUE_1399 까지 사용했다면
NOTICE_ID가 101인 데이터의 접수번호는 CODE1VALUE_CODE2VALUE_1400부터 부여합니다.
이 문제를 어떻게 풀어야할지 머리가 아파서 설명이 부족했을지도 모르겠습니다.
댓글 남겨주시면 더 상세히 설명드리겠습니다.
도움 부탁드립니다.