ROLLBACK 오류 해결

--TCL: ROLLBACK 예시
INSERT INTO SQLD.TB_CERTI T (T.CERTI_CD, T.CERTI_NM, T.ISSUE_INSTI_NM) VALUES ('100022', 'SQL지식보유자', '패스트캠퍼스');
ROLLBACK;

ROLLBACK은 위의 SQL 문으로 실행되지 않습니다.

시도한 방법 1

  • TB_CERTI 테이블 DROP(외래 키가 TB_CERTI 테이블의 열을 참조하기 때문에 실패)

시도한 방법 2

  • INSERT 문이 데이터 무결성 원칙을 위반한다는 경고 메시지를 보고 답을 찾았습니다.
  • TCL 관련 SQL 문을 한 번에 정리하기 위해 같은 문서의 시작 부분에 다음 SQL 문을 넣는 것을 잊었습니다.
-- TCL: COMMIT (INSERT) 예시
INSERT INTO SQLD.TB_CERTI T (T.CERTI_CD, T.CERTI_NM, T.ISSUE_INSTI_NM) VALUES ('100022', 'SQL지식보유자', '패스트캠퍼스');
COMMIT;
  • 즉, COMMIT와 ROLLBACK 예제가 중복되어 ROLLBACK 예제의 INSERT문이 마지막에 실행되지도 않았기 때문에 ROLLBACK에 대한 내용은 없었다.

해결

  • 예시 커밋 삭제
  • ROLLBACK 예제의 INSERT 적용 ROLLBACK 정상작동