我只想在这个列中使用时间(新手)

jaql4c8m  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(296)
CREATE TABLE Vitals
(
    Record_No   int NOT NULL PRIMARY KEY,
    Patient_ID  int, 
    Date_Taken  DATE NOT NULL,
    Time_Taken  time(7) NOT NULL,
    Systolic    int, 
    CHECK       (Systolic > Diastolic),
    Diastolic   int,
    Heart_Rate  int CHECK (Heart_Rate > 30),
    CONSTRAINT fk_Patient_ID FOREIGN KEY (Patient_ID) REFERENCES Patients(Patient_ID)
);

但是,我有个错误

Time_Taken time(7) NOT NULL,
               *
ERROR at line 6:
ORA-00907: missing right parenthesis

当我使用 timestamp default systimestamp 它起作用了。我只需要时间 Time_Taken 列。在此处输入图像描述

zd287kbt

zd287kbt1#

你不能使用 TIME 数据类型,因为它不是oracle定义的数据类型。
你可以用 DATE 或者 TIMESTAMP 用于存储时间和日期的数据类型。
oracle中支持的数据类型记录在这里。

相关问题