2011-01-16 6 views
0

내가 모델 테이블은 다음과 같이 정의했다 :Oracle에서 어떻게 동적 업데이트를 수행 할 수 있습니까?

MODEL (id NUMBER, capacity NUMBER) 

및 비행 표는 다음과 같이 정의 :

FLIGHT (flight_number NUMBER, available_seats NUMBER) 

내가 모델마다 A의 정의 용량 번호 비행에 available_seats 필드를 초기화 할 새 행이 FLIGHT 테이블에 삽입됩니다. 또한 available_seats가 0으로 계산 될 때 사용자에게 알리고 싶습니다. 어떻게해야합니까?

+0

'MODEL'은'FLIGHT' 테이블과 어떻게 링크되어 있는가? 'available_seats'에서 빼기 위해서? –

답변

0

MODEL 테이블 (및 필요한 다른 매개 변수)의 매개 변수로 매개 변수로 사용할 REGISTER FLIGHT라는 저장 프로 시저를 작성합니다. 프로 시저에서 MODEL 테이블에 대한 조회를 수행하고 초기 행을

나는 BOOK_SEAT라는 두 번째 절차를 가지게된다. 비행 예약 과정에서 비행 가능한 좌석 수를 줄이게된다. 예약이 available_seats를 0 (또는 그 이하)로 줄이면, 예외 (예 : OVERBOOKED_EXCEPTION)를 던지고 호출자가 문제를 포착하고 처리 할 것을 기대한다.

관련 문제