列車の旅の詳細を取得するカーソルがあります。レコードをループすると、次の駅の ETA (到着時間) が更新されます。この値は、その駅の ETD (出発時刻) を計算するために使用されます。カーソルを開いたときに古い値ではなく、レコードがその旅行の次の駅をフェッチするときに ETA の更新された値を使用して ETD を計算したいと考えています。これは可能ですか?
CURSOR CUR_SCN IS
SELECT TRIP_ID,
TRAIN_ID,
STATION_ID,
ETA
FROM TRIP_DTL
WHERE ....;
FOR rec IN CUR_SCN
calculate and update ETD for current rec.STATION_ID
ld_eta := Business logic goes here for calculating next station ETA for the TRIP
UPDATE TRIP_DTL
SET ETA = ld_eta
WHERE STATION_ID = next station
AND TRIP_ID = rec.TRIP_ID;
END LOOP;