时间数据类型似乎不起作用

时间:2013-11-25 00:23:55

标签: sql oracle-sqldeveloper

我有以下用于创建表的代码,但它失败了,我不知道为什么:

CREATE TABLE Cut_Job
( assembly_id numeric (9, 0),
  dept_no numeric (9, 0),
  process_id numeric (9, 0),
  job_no numeric (9, 0),
  date_commenced date,
  date_completed date,
  machine_type varchar (20),
  machine_time time (0), --this is line 63
  labor_time time (0),
  primary key (dept_no, process_id));

它显示的错误如下:

Error at Command Line:63 Column:16
Error report:
SQL Error: ORA-00902: invalid datatype
00902. 00000 -  "invalid datatype"
*Cause:    
*Action:

我不明白为什么会失败。

2 个答案:

答案 0 :(得分:1)

听起来你想存储一个interval in Oracletime不是Oracle中存在的数据类型。

SQL> ed
Wrote file afiedt.buf

  1  CREATE TABLE Cut_Job
  2  ( assembly_id numeric (9, 0),
  3    dept_no numeric (9, 0),
  4    process_id numeric (9, 0),
  5    job_no numeric (9, 0),
  6    date_commenced date,
  7    date_completed date,
  8    machine_type varchar (20),
  9    machine_time interval day to second(0),
 10    labor_time interval day to second(0),
 11*   primary key (dept_no, process_id))
SQL> /

Table created.

答案 1 :(得分:0)

数据类型不是“时间”,而是

TIMESTAMP

并且不定义长度。