출력을 가져올 수 없으므로 문제를 찾을 수 없습니다.트리거가 저장 프로 시저를 호출하는 중
질문 :
Table : rent_info(cust_id,date_out,date_due_in,date_returned,fine)
이 테이블은 책 대여 하나입니다. 처음에는 삽입 할 때 cust_id, date_out (책 발행일), date_due_in (발행일로부터 7 일 후)을 주어야합니다. 책이 리턴되면 트리거가 rent_info 테이블에 데이터를 삽입하는 데 사용됩니다.
나는 date_returned를 제공해야합니다. 방아쇠에서 나는 경과 한 매일 10 달러 인 벌금을 계산해야합니다.
반환을 위해 테이블을 업데이트하고 반환 날짜를 삽입하는 절차를 작성했습니다. 그런 다음 트리거가 생성됩니다 (얼마나 많은 벌금을 지불해야하는지 업데이트를 확인하는 행 수준 트리거). 마지막 계산서로 계산 된 벌금은 이고 테이블에는이 업데이트되었습니다.
문제는 미세한 양을 생성 할 수 있지만 벌금을 업데이트하기 위해 제공된 업데이트 문은 "테이블 변경 오류"입니다.
어디에서 잘못 됐는지 알려주실 수 있습니까? 코드를 게시하지 않으셔서 죄송합니다. 나는 실험실에서 코드를 얻을 수 없었다. 이 정보가 충분하지 않으면 나는 그것을 내 시스템에서 시험해보고 나중에 여기에 게시 할 수 있습니다.
[이 답변보기] (http://stackoverflow.com/questions/5133705/solving-the-mutating-table-problem-in-oracle-sql-produces-a-deadlock/5137951#5137951) 테이블 오류를 변경할 수 있습니다. – Sathya