1. REVERT statement

REVERT statement는 ON statement를 사용하여 등록한 ON-unit을 해제한다.

figure syntax revert
항목 설명

condition

하나 이상의 조건을 지정한다. 조건에 대한 설명은 조건 종류를 참고한다.

REVERT statement는 현재 블록이나 프러시저에 등록된 ON-unit을 해제하며, 현재 블록이나 프러시저에 등록된 ON-unit이 없을 경우 REVERT statement는 수행되지 않는다. 상위 블록이나 프러시저에서 등록한 ON-unit은 해제할 수 없다.

다음은 REVERT statement를 이용하여 등록한 ON-unit을 해제하는 예제이다.

 ON ZERODIVIDE
 BEGIN;
 DISPLAY('ZERODIVIDE condition raised');
 END;

 REVERT ZERODIVIDE;

 A = B / 0;

"A = B / 0;" 구문에 의해 ZERODIVIDE 조건이 발생하지만, ON statement로 등록한 ON-unit이 REVERT statement로 해제되어 해당 ON-unit은 수행되지 않는다. 현재 등록되어 있는 ON-unit이 없을 경우 조건 특성에 따라 default action을 수행하는데, ERROR 조건을 발생시키거나 프로그램 수행을 계속한다. ZERODIVIDE는 default action으로 ERROR 조건을 발생시킨다.