私は航空会社の大学のコースワーク用のOracleデータベースを作成しています。今私はスタッフテーブルを持っているstaff_allocationsは、フライトテーブルのフライトのスタッフを割り当てます。oracle findは日付がリストになる場所を見つけます
CREATE TABLE FLIGHT (
FLIGHT_ID NUMBER(11) PRIMARY KEY,
ROUTE_ID NUMBER(11) NOT NULL,
PLANE_ID NUMBER(11) NOT NULL,
PILOT_ID NUMBER(11) NOT NULL,
DEPARTURE_TIME TIMESTAMP NOT NULL,
ARRIVAL_TIME TIMESTAMP NOT NULL,
FREE_SEATS NUMBER (4)
);
CREATE TABLE STAFF_ALLOCATION (
FLIGHT_ID NUMBER(11) NOT NULL,
EMPLOYEE_ID NUMBER(11) NOT NULL
);
ここで、フライトテーブルのroute_idはroutesテーブルを参照します。私はstaff_allocationに挿入する前に把握しますトリガーを作成しようとしているID、宛先IDとトランジットID異なる空港コード(LHR、HAMなど)
へのすべてのポイントを開始
CREATE TABLE ROUTE (
ROUTE_ID NUMBER(11) PRIMARY KEY,
START_ID VARCHAR2(3) NOT NULL,
DESTINATION_ID VARCHAR2(3) NOT NULL,
TRANSIT_ID VARCHAR2(3),
IS_ACTIVE VARCHAR2(1),
DISTANCE NUMBER (8,2),
BASE_PRICE NUMBER (6,2)
);
スタッフが新しい航空便と時間が重なる別の航空便に割り当てられているかどうか。また、スタッフが実際に飛行機の出発地と同じ国にいるかどうかをチェックする必要があります。
このように:
どの航空便スタッフが既に割り当てられているかを見つける。 新しい飛行出発時刻と既存の飛行出発時刻を比較します。 飛行時間が衝突しない場合は、スタッフが既に新しいstart_idの国にいるかどうかを確認してください
誰かが私に例コードを教えてもらうか、 /を使って?これはoracleで何かを作成する私の初めてのことです。
歓声。