데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
mssql2008일때 프로시저를 만들엇는데
~~~~~~~~~~
~~~~~~~~~~~~~
~~~~~~~~~~~~~
@OutPK_ID int OUTPUT,
@Return_ID int OUTPUT
BEGIN TRAN
BEGIN TRY
Set @OutPK_ID = 12
Set @Return_ID = 1
END TRY
-- 에러처리--
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRAN
SELECT @ReturnValue = -1
END CATCH
Set @OutPK_ID = 12
2008에서는 이렇게 해도 괜찮앗는데 2016으로 프로시저를 옮겼는데 @Return_ID변수에 -1이 반환이 됩니다
Set @OutPK_ID = 9
위와 같이 한자리만 섧정하면 @Return_ID에 1이 반환이 됩니다
@OutPK_ID에 한자리이상 설정해도 insert나 update쿼리는 잘 실행이 되지만
@Return_ID변수가 -1이 반환이 됩니다
이거 어떻게 해야하나요?