안녕하세요
일본에서 근무중인 초보 개발자 입니다
PLSQL도 초보인데 담당하게된 배치 프로그램의 설계가 복잡하여 어찌 구현해야할지 감이 잡히지 않아 질문드립니다
①:테이블A,테이블B를 조인하여 N행의 레코드를 취득
②:①에서 취득한 레코드중 특정칼럼 5개가 동일한 레코드는 UPDATE할 대상에서 전부 제외
③:②처리후 남은 ①레코드를 UPDATE
제가 봐도 무슨말인지 잘 이해가 안가지만 지푸라기라도 잡는 심정으로 ㅠㅠ
답변 감사드립니다! CURSOR CUR_NAME IS SELECT B.고객계좌 A.거래계좌 A.투자종류 A.고객등급 A.투자번호 A.금액 A.지불일 A.개시일 A.데이터수정횟수 FROM TABLE1 A (SELECT 거래계좌 투자종류 지불일 개시일 MAX(데이터수정횟수) FROM TABLE1 WHERE 투자종류 = xx GROUP BY 거래계좌 투자종류 지불일 개시일) A_SUB, TABLE2 B WHERE A.거래계좌 = A_SUB.거래계좌 AND A.투자종류= A_SUB.투자종류 AND A.지불일= A_SUB.지불일 AND A.개시일= A_SUB.개시일 AND A.데이터수정횟수= A_SUB.데이터수정횟수 AND A.보조거래계좌= B.보조고객계좌 AND A.지불일 > B.특정날짜 AND A.개시일 < B.특정날짜 ORDER BY A.거래계좌 A.투자종류, A.지불일, A.개시일
CUR_NAME에 담긴 레코드들중 특정 레코드만 갱신하고 싶은데요
루프 안에서
커서의 n번째 레코드의 특정 컬럼과 n+1째 레코드의 특정 컬럼을 비교해서
동일할 경우 *업데이트 제외 데이터* 에 저장
다를 경우 **업데이트 대상 데이터**에 저장
커서의 n+1 레코드의 특정 컬럼과 n+2 레코드의 특정 컬럼을 비교해서
동일할 경우 *업데이트 제외 데이터* 에 저장
다를 경우 *업데이트 제외 데이터* 와 일치하지 않는지 확인후
**업데이트 대상 데이터**에 저장
레코드의 마지막까지 확인후
**업데이트 대상 데이터**를 가지고 업데이트를 실시하고 싶은데요
커서의 n번째 레코드의 특정 컬럼과 n+1레코드의 특정컬럼을 어떻게 추출해야 하는지
커서에서 추출한 레코드
*업데이트 제외 데이터*
**업데이트 대상 데이터**를 어떤 데이터 타입에 어떻게 담아야 하는지
모르겠습니다.
PL/SQL로 구현이 가능하다면
이미지나 힌트(검색어)를 부탁드립니다...ㅜㅜ