[英]Column with default value for every record update in Oracle
How should we update a column with default value on every update statement in Oracle? 我们应该如何在Oracle的每个更新语句中更新具有默认值的列?
Like last update timestamp should have sysdate for every update statement executed 与上次更新一样,timestamp应该为每个执行的更新语句都有sysdate
This is a perfect use for a trigger: 这是触发器的完美用法:
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;
You can extend this easily to handle inserts by using: 您可以使用以下方法轻松扩展它以处理插入:
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;
Best of luck. 祝你好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.