我有以下用于创建表的代码,但它失败了,我不知道为什么:
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:
我不明白为什么会失败。
答案 0 :(得分:1)
听起来你想存储一个interval
in Oracle。 time
不是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
并且不定义长度。