by classwizar [PL/SQL] [2012.12.31 12:05:27]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | -- 테스트 테이블 생성 CREATE TABLE a ( no NUMBER(2)); CREATE TABLE b ( no NUMBER(2)); -- PL/SQL 블록에서 테이블 a에는 정상값 입력, 테이블 b에는 예외상황 발생을 위한 값 입력 BEGIN INSERT INTO a VALUES (10); INSERT INTO b VALUES (1000); EXCEPTION WHEN OTHERS THEN NULL ; -- 아무것도 하지 않고 그냥 종료하게 하기 위함 END ; / -- 테이블 a의 내용 확인 SELECT * FROM a; |
1 2 3 | ROLLBACK ; -- 롤백 후 테이블 a의 내용 확인 SELECT * FROM a; |
1 2 3 4 5 6 7 8 | BEGIN INSERT INTO a VALUES (10); INSERT INTO b VALUES (1000); EXCEPTION WHEN OTHERS THEN ROLLBACK ; -- 명시적으로 ROLLBACK END ; / |