데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

안녕하세요.

 

프로시저 문에 대한 문의가 있습니다.

 

아래는 트랜젝션 부분인데.

 

insert 문과 delete 그리고 다시 insert를 처리해야 합니다.

 

이러한 쿼리문 중 하나라도 오류가 뜨면 전부다 롤백을 해야 하는데;;

 

도통 해결이 되지 않아 며칠을 고민하다 문의드립니다.

 

일부로 마지막 insert문에서 에러가 뜨도록 파라메터를 날렸고 당연히 앞의 insert와 delete가 롤백이 될지 알았는데 ㅠㅠ

 

실행이 되어버립니다.

 

DB는 약해서 해결법이나 힌트 좀 알려주시면 감사하겠습니다. 프로그램 업데이트를 못하고 있습니다 ㅠㅠ 

 

BEGIN tran test1
 declare @result int
 set @result = 0
 SET NOCOUNT ON;
 insert into HANON_LOT_PRESS select head_qr , head_date , head_num , head_flow , head_model , hn_date , hn_time , hn_num , hn_model from HANON_PRESS where head_qr = @qrcode //insert 성공여부
 if(@@Error = 0 and @@rowcount > 0)
   begin
   delete from hanon_press where head_qr = @qrcode //insert 성공시
     if(@@Error = 0 and @@rowcount > 0) //delete 성공여부

    begin
   insert into hanon_lot_test values(@qrcode , '11' , '11' , '11' , '11' , '111' , '11' , '11' , @hn_model)//delete 성공시
    if(@@Error = 0 and @@rowcount > 0)
    begin
    set @result = 1 
    select @resultp = @result //최종 반영 여부 return
    return
    end
    else
       begin
       rollback tran test1//마지막 insert 실패시 롤백
       end
    end
     else
    begin
    rollback tran test1//delete 실패시 롤백
    end 
   end
 else
   begin
   select @resultp = @result //첫 insert 오류시 반영 여부 return
   return
   end
  
commit tran test1

No. Subject Author Date Views
9937 프로시저 도움 부탁드립니다.. [2] 재바우 2017.08.05 3161
9936 일별 회원가입 통계를 하고싶습니다.. [5] umtaeng 2017.08.03 2893
9935 특정유저가 특정 링크드 서버만 SELECT 가능 하게 가능 할까요? 군고구마 2017.08.03 4943
9934 SQL 2008 서버 접속 오류의 질문 한현 2017.08.03 5550
9933 전화번호가 속한 내용들은 모두 조회하고 싶습니다 [4] 문상연 2017.08.02 3204
9932 Merge,hash 조인걸때, 비동등조건 [4] 헬로우파이썬 2017.08.02 3359
9931 쿼리 도움 요청드려요. [2] 수수리 2017.08.02 4195
9930 차등백업이나 트랜잭션 로그백업에 사용할 풀백업본 질문입니다. [2] tempest 2017.07.31 5577
9929 비클러스터 인덱스를 잡았는데 클러스터 인덱스를 scan하는 이유는 왜그런가요? [3] 바다낚시꾼 2017.07.26 2479
9928 프로시저 실행 중 table lock 문의 [2] 톡히슈터 2017.07.19 2672
9927 MSSQL 2012 행을 열로 변경 [3] l1j2e3 2017.07.17 2939
9926 my sql 정말 쉬운 질문입니다..(DEC관련..) 유스탁키오관 2017.07.15 2072
9925 로그인 계정에 대한 질문 입니다. icham 2017.07.14 2567
9924 쿼리 질문드립니다 ㅠ [3] 브라미 2017.07.14 2396
9923 DELETE 관련 질문입니다 [2] 코코 2017.07.14 2079
9922 함수 먹힌 column 에 인덱스 추가하는방법? [2] 노잼호 2017.07.13 2603
9921 like에 대해서..? [4] 문상연 2017.07.13 2497
9920 postgresSQL 다중 행 쿼리질문(내용수정) [3] 궁금해서알고싶어요 2017.07.11 1937
» 프로시저내 트랜젝션 문의드립니다. [2] 톡히슈터 2017.07.10 2501
9918 2005에서 2008로 업그레이드 하려고 합니다. 엘제이 2017.07.10 2574





XE Login