티스토리 뷰

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 를 추가하는것이 좋다.


'DB' 카테고리의 다른 글

[Oracle] array size  (0) 2018.12.05
[Oracle 12c] ORA-27154: post/wait create failed  (0) 2018.11.06
[Oracle] Shell 로 sql 호출하기  (0) 2018.06.26
[Oracle] DELETE, TRUNCATE and DROP 차이점과 주의점  (0) 2018.04.27
댓글