【发布时间】:2011-12-22 14:14:06
【问题描述】:
所以这是来自一个 uni 课程,是我第一次使用 Oracle(并使用触发器)。我们应该为航空公司创建一个数据库。
部分数据库是
CREATE TABLE FLIGHT_BOOKING (
BOOKING_ID NUMBER(11) PRIMARY KEY,
BOOKING_TIME DATE NOT NULL,
EMPLOYEE_ID NUMBER(11) NOT NULL,
FLIGHT_ID NUMBER(11) NOT NULL,
TOTAL_COST NUMBER(4,2) NOT NULL
);
CREATE TABLE FLIGHT (
FLIGHT_ID NUMBER(11) PRIMARY KEY,
PLANE_ID NUMBER(11) NOT NULL,
START_ID NUMBER(11) NOT NULL,
DESTINATION_ID NUMBER(11) NOT NULL,
TRANSIT_ID NUMBER(11),
DEPARTURE_TIME DATE NOT NULL,
ARRIVAL_TIME DATE NOT NULL,
NUM_BOOKED NUMBER (4) NOT NULL
);
CREATE TABLE PASSENGER (
PASSENGER_ID NUMBER(11) PRIMARY KEY,
FIRST_NAME VARCHAR2(20) NOT NULL,
MIDDLE_NAME VARCHAR2(20) NULL,
LAST_NAME VARCHAR2(20) NOT NULL,
TELEPHONE NUMBER(11) NOT NULL,
BOOKING_ID NUMBER(11) NOT NULL
);
所以我要做的是创建一个触发器,这样每次将新乘客添加到 PASSENGER 表时,触发器都会从 FLIGHT_BOOKING 表中找到相应的 FLIGHT_ID,并为 FLIGHT 表中的相应航班增加 NUM_BOOKED。
我尝试过浏览 oracle 文档,但找不到任何描述涉及两个或多个表的情况的内容。
任何帮助将不胜感激!
【问题讨论】: