我有一个光标可以检索火车的行程细节。当我循环浏览记录时,我会更新下一站的 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;