DB

[Oracle] Rollback statement 사용시 주의점. 무한 loop, hang 현상

Reo Dongmin Lee 2019. 1. 3. 23:47
DB transaction 을 다루는 프로그램에서 보통 exception 처리시 ROLLBACK statement를 사용한다.

EXEC SQL ROLLBACK WORK RELEASE;

위의 statement를 실행하면 transaction을 roll back 한뒤 ORACLE db와 disconnect 한다.

주의할 점은 rollback 중 에러 발생으로 fail 할 경우 무한루프돌며 hang 현상이 발생할 수 있다.

그래서 exception 처리할때 ROLLBACK statement 앞에 다음과 같이


EXEC SQL WHENEVER SQLERROR CONTINUE;

EXEC SQL ROLLBACK WORK RELEASE;


에러가 발생하여도 프로그램에 계속 흘러갈수 있게 continue statement 를 추가하는것이 좋다.