2015-07-20 112 views
-2
CREATE table flight_details(
flight_id char(10), 
flight_date date, 
flight_time time, 
flight_place varchar2(50), 
tp_id char(8), 
primary key (flight_id), 
foreign key (tp_id) references travel_package(tp_id)); 

當我執行此 這個錯誤出現無效的數據類型

flight_time time, * ERROR at line 4: ORA-00902: invalid datatype

如何解決這個問題?的

+0

_line 4_包含什麼? – Melebius

+0

Oracle RDBMS沒有'time' [數據類型](http://docs.oracle.com/cd/E11882_01/server.112/e10592/sql_elements001.htm)。爲什麼要將日期和時間存儲在單獨的列中? –

+0

Oracle中沒有時間數據類型。請考慮將flight_date和flight_time合併到一個日期列中。 –

回答

1

timestamp代替time

CREATE table flight_details(
flight_id char(10), 
flight_date date, 
flight_time timestamp, 
flight_place varchar2(50), 
tp_id char(8), 
primary key (flight_id), 
foreign key (tp_id) references travel_package(tp_id)); 
+0

時間戳記也包含日期,並且您不希望飛行時間需要小數秒精度;如果你真的想單獨存儲時間和日期(你可能不這樣做),那麼時間戳看起來並不適合僅用於時間的部分。 –

+0

@AlexPoole是寫的。但是作爲一種數據類型,op沒有提供時間,所以我只是提供可選的數據類型,它也會存儲時間 –