성공시 0, 실패시 1을 리턴하는 프로시져를 만들어야 합니다.
commit 후의 0은 반환이 되는데, rollback 후에 1이 반환이
안됩니다.
rollback은 되고요.. 혹시나 하여 print를 해봤는데 print는
되는데..
필요한 1만 return이 안된다는... ㅠㅠ
책이나 다른님들의 소스를 그대로 돌려도 1이 반환이 안됩니다.
뭔가 DB 설정에 문제가 있는지...
뭔가 의심이 되는 부분이면 뭐라도 좋으니 알려주시면
감사하겠습니다.
좋은 하루 되세요~~
create proc rollback_test as set nocount on
if @@trancount<>0 goto rollback_tran
begin transaction
update id_info set login_id='aaa' -- PK 중복으로 error
IF @@error<>0 goto rollback_tran
commit tran
return 0
rollback_tran:
rollback transaction
print 'error'
return 1
------------------------------------
declare @return int
exec @return=rollback_test
select @return
|