다음은 CURSOR(SOURCE TABLE)에서 데이터를 추출하고 추출된 건수만큼 FOR문 반복적으로 수행하여 UPDATE & INSERT 수행하는 패턴의 프로그램
단계 | CASE1 | CASE2 | CASE3 |
---|---|---|---|
(1) | Cursor Open SELECT Fetch | Cursor Open SELECT Fetch | FILE OPEN SELECT Fetch Row |
(2) | FOR IF CNT > 0 THEN UPDATE ELSE INSERT; END; END LOOP | FOR UPDATE or INSERT END LOOP; | FOR UPDATE or INSERT END LOOP; |
(3) | Cursor Close | Cursor Close | Cursor Close |
MERGE 구문의 활용
위의 프로그램의 성능은 CURSOR 에서 추출되는 데이터 건수에 의해 결정된다.
위와 같은 프로그램애서 MERGE 구문을 사용하면 수행시간을 크게 단축 시킬 수 있다