쿼리 구조는 다음과 같습니다.
BEGIN TRAN
...
...
IF(ERROR)
BEGIN
EXEC ERROR_PROC @MESSAGE
END
..
..
..
IF(ERROR)
BEGIN
ROLLBACK TRAN
END
대략적으로 쓴것이니 참고만 부탁드립니다.
의미를 말씀드리면, 각종 작업도중 오류가 발생한경우 프로시저를 호출해서 오류 관련된 내용을 테이블에 저장하려고 하고 있습니다.
그런데, 마지막에 롤백을 하니,
오류를 저장했던 부분까지 함께 롤백되어서요.
혹시 구조를 바꾸지 않고 이방법을 사용할 수 있을까요?
Comment 1
-
이리
2018.03.21 11:13
save transaction으로 안될까요?
https://docs.microsoft.com/ko-kr/sql/t-sql/language-elements/save-transaction-transact-sql