【发布时间】:2012-01-15 05:19:31
【问题描述】:
CREATE TABLE chartered flight(flight_no NUMBER(4) PRIMARY KEY
, customer_id NUMBER(6) REFERENCES customer(customer_id)
, aircraft_no NUMBER(4) REFERENCES aircraft(aircraft_no)
, flight_type VARCHAR2 (12)
, flight_date DATE NOT NULL
, flight_time INTERVAL DAY TO SECOND NOT NULL
, takeoff_at CHAR (3) NOT NULL
, destination CHAR (3) NOT NULL)
我不应该使用 CHAR 数据类型吗?
我听说使用它是不好的做法,但我想这样做,因此 takeoff_at 和 destination 必须至少包含 3 个字符,因为它们是机场代码。
这是我得到的错误:
Error at Command Line:1 Column:23
Error report:
SQL Error: ORA-00922: missing or invalid option
00922. 00000 - "missing or invalid option"
*Cause:
*Action:
【问题讨论】:
-
表名中不能有空格。
-
有空格是不好的做法,但是如果你真的想在表名中有空格,你需要用双引号括起来。这将导致以后更多的麻烦。然而,说 TABLE NAME CANNOT HAVE SPACES 的声明并不完全正确。这有效:创建表“我爱空间”(space_id 整数,chartered_flight CHAR(10))
标签: sql database oracle oracle-sqldeveloper