简体   繁体   English

Oracle中每个记录更新的默认值列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM