트리거 update시 락 걸리는 것에 대해서 문의 드립니다. 0 2 1,693

by 에르메스 [ALTIBASE] [2013.07.23 15:32:35]


수행중 에러 입니다. 조금만 해결 책을 부탁 드립니다. 무궁한 발전이 있기를 바랍니다.

1   updateA()  실행  ---->>>>   A 테이블 수정 

 2  updateB()  실행  --->>>>   B 테이블 수정 

 3  updateC()  실행   -->>>>  C 테이블 수정 

  저는 A 테이블의 상태 값이 변경될 때 trigger 발생 하여 D 테이블 데이터 변경 하려고 trigger를 생성 했습니다.
이때 락이 걸리는 것 같음  왜 이게 걸리는지 이해가 안감  
 4 updateD()  실행

이렇게 하나의 트랜잭션이 되어서 실행을 하는 것 같은데   저 3번 째 상태에서 오류가 나네요.
    꼭 A 테이블의 값이 변경 되었는지 확인을 해야 되서 trigger를 저 위치에 써야 하는데 해결 방법이 없을까요?
by 부쉬맨 [2013.07.23 15:47:33]
질문이햇갈림..(질의내용이 좀 부족함)
트랜잭션처리 잘되어있는지를 확인해보세요.

1,2,3 실행이라는 의미를 하나의 트리거로 처리한다는건지?
아님 프로시저에서 실행하는건지??

프로그램처럼 한다면
1이 실행되어서 ㅇ정상처리되었다면 vOk 라는 값에 True 를 줘서
if vOk = True then 2번 실행 

이런 로직을 가지면되지않을까요?

by 마농 [2013.07.23 16:51:04]
질문을 보면 락이 걸리는건지 아닌건지 조차도 확실하지 않네요.
에러가 나고 있는것 같은데.
에러메시지를 확인하시면 그속에 답이 있습니다.
모르면 검색.
검색결과를 봐도 모르겠으면...
질문을 좀더 명확하게..(원래 사용한 소스코드 및 에레메시지등을 가감없이 기술)
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입