--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 정상작동