在oracle 11g中插入timetamp值

时间:2016-04-13 08:01:31

标签: sql oracle oracle11g timestamp sqlplus

我在表格中创建了两列,数据类型为TimeStamp,带有这些命令

ALTER TABLE TOY_STORE ADD STORE_OPENING_TIME TIMESTAMP;
ALTER TABLE TOY_STORE ADD STORE_CLOSING_TIME TIMESTAMP;

我还添加了一个带有以下命令的条件

alter table toy_store ADD CHECK (EXTRACT(HOUR FROM store_opening_time) > 8 || NULL);
alter table toy_store ADD CHECK (EXTRACT(HOUR FROM store_closing_time) < 22 || NULL);

现在的问题是,当我尝试使用以下命令输入值时,它可以完美地运行

INSERT INTO TOY_STORE VALUES(TO_TIMESTAMP('2014-04-01 09:00:12.742000000', 'YYYY-MM-DD HH24:MI:SS.FF'),NULL);

但是当我尝试使用以下命令

输入值时,我无法输入关闭时间
INSERT INTO TOY_STORE VALUES(TO_TIMESTAMP('2014-04-01 09:00:12.742000000', 'YYYY-MM-DD HH24:MI:SS.FF'),TO_TIMESTAMP('2014-04-01 18:00:00.000000000', 'YYYY-MM-DD HH24:MI:SS.FF'));

我在SQL PLUS中得到ORA-02290: check constraint (E1245050.SYS_C00277734) violated的错误。 因为我已将约束设置为&lt; 22但不知道为什么我会收到错误。

0 个答案:

没有答案