【发布时间】:2019-05-25 09:08:01
【问题描述】:
如果机票对应于尚未起飞的航班,则备份任何已删除机票的航班 ID、机票号和座位号。
创建序列 generateKey 从 100 开始 增加 1;
CREATE TABLE backUpTicket
(
cancelledKey NUMBER NOT NULL,
flightID char(9) NOT NULL,
ticketNum varchar2(5) NOT NULL,
seatNum NUMBER(3) NOT NULL,
PRIMARY KEY(cancelledKey)
);
CREATE OR REPLACE TRIGGER backUpTicketCancelled
BEFORE DELETE ON FLIGHT
FOR EACH ROW
BEGIN
INSERT INTO backUpTicket
VALUES
(generateKey.nextVal, :old.flightID, :old.TicketNum, :old.seatNum);
IF(:old.actDepartDateTime IS NULL) THEN
DBMS_OUTPUT.PUT_LINE('The Flight has not departed yet');
END IF;
END backUpTicket;
/
IF(:old.actDepartDateTime IS NULL) 作为错误绑定运算符出现的错误
【问题讨论】:
-
表backUpTicketCancelled中有哪些列?
-
这只是问题和答案,触发器被命名为backupTicketCancelled
-
抱歉,我的意思是 TICKET 表中的列是什么 - 即触发器所在的列?
-
@TonyAndrews 你能帮帮我吗? FLIGHT(flightID,estDepartureDateTime,actDepartDateTime,actArriveDateTime,avgSpeed,avgHeight,estDuration,estFuel,haulType,captainStaffID,firstOfficerStaffID,routeID,aircraftID)TICKET(ticketNum,baggageLimit,seatNum,classCode,medicalCondition,mealChoice,customerID,flightID)
-
希望以上帮助...@TonyAndrews
标签: oracle plsql database-trigger