我们应该如何在Oracle中的每个更新语句上使用默认值更新列?
像上次更新时间戳一样,每个执行的更新语句都应具有sysdate
答案 0 :(得分:0)
这是触发器的完美用法:
CREATE OR REPLACE TRIGGER SOME_TABLE_BU
BEFORE UPDATE ON SOME_TABLE
FOR EACH ROW
BEGIN
:NEW.LAST_UPDATED_TIMESTAMP := SYSDATE;
END SOME_TABLE_BU;
您可以使用以下方法轻松扩展此范围以处理插入物:
CREATE OR REPLACE TRIGGER SOME_TABLE_BIU
BEFORE INSERT OR UPDATE ON SOME_TABLE
FOR EACH ROW
BEGIN
IF INSERTING THEN
:NEW.INSERTED_TIMESTAMP := SYSDATE;
ELSIF UPDATING THEN
:NEW.LAST_UPDATED_TIMESTAMP := SYSDATE;
END IF;
END SOME_TABLE_BIU;
好运。