원장테이블에서 집계테이블로 statement level 트리거를 사용해서 insert or update를 할 경우에 대한 부분을 작성하고 있는데요..
원장테이블에서 group by 해서 일별단위(일별로 여러개생성가능)로 집계테이블로 옮기는 로직을 작성할때 다음과 같은 식으로 작성하면 되는지 궁금합니다.
1. 원장테이블에서 일자별등으로 group by 한 결과를 참조하는 cursor 생성
2. for in loop를 사용해서 집계테이블에 insert를 하고 DUP_VAL_ON_INDEX 가 발생했을때 update 하는식으로 처리
3. 다시 for in loop를 사용해서 원장테이블에서 집계테이블로 반영한 데이터에 대해서 flag update
for 리스트 in cursor 명
loop
begin
insert into 집계테이블
exception
WHEN DUP_VAL_ON_INDEX THEN
update 집계테이블
end;
end loop;
for 리스트 in cursor 명
loop
update 원장테이블
end loop;
위와같이 작성했는데 저렇게 해도 되는지 아니면 한건식 fetch 해서 처리하는 것이 맞는지 궁금하구요.
맨 마지막에 원장테이블을 update하기 위해서 for in loop를 다시한번 수행했는데 한번에 처리하는 방법이 있는지 궁금합니다.
감사합니다. |