我正在尝试在sysdate的每次更新中默认last_modified_date列的值。当我运行DDL时,Oracle正在抛出“缺失关键字”异常。
CREATE TABLE releaser_queue
(id Number GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY,
processed_date DATE,
last_modified_date DATE default on UPDATE sysdate, -- throwing exception
created_date DATE default on null sysdate,
time_elapsed TIMESTAMP
)我预计将创建该表,但Oracle将在更新关键字上抛出ORA-00905缺少的关键字异常。
发布于 2019-10-07 03:00:29
甲骨文不支持DEFAULT ON UPDATE,至少不支持up 通过19c版。但是,您可以使用BEFORE UPDATE触发器实现目标:
CREATE OR REPLACE TRIGGER RELEASER_QUEUE_BU
BEFORE UPDATE ON RELEASER_QUEUE
FOR EACH ROW
BEGIN
:NEW.LAST_MODIFIED_DATE := COALESCE(:NEW.LAST_MODIFIED_DATE, SYSDATE);
END RELEASER_QUEUE_BU;https://stackoverflow.com/questions/58261970
复制相似问题