欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ORACLE----TimeStamp(时间戳)自动更新

程序员文章站 2022-05-02 16:32:43
...

之前对id的自增长进行了设置,原以为时间戳的更新也类似,使用序列之类的,但最终发现跟序列没半毛钱关系。触发器是肯定要用的,但编写脚本也是需要的。

(1)创建触发器

ORACLE----TimeStamp(时间戳)自动更新

ORACLE----TimeStamp(时间戳)自动更新

图2中,我们要选择事件(即例子中的INSERT,UPDATE),触发时间(即INSERT,UPDATE事件的前或后,例子中是before),列(例子中为MODIFIED_DATE,为TimeStamp类型),新旧值(为系统默认值OLD和NEW)。

(2)添加脚本

点击上图的确定后,将生成脚本

CREATE OR REPLACE TRIGGER TRIGGER3 
BEFORE INSERT OR UPDATE OF MODIFIED_DATE ON T_MATERIAL_STOCK_CURRENT 
REFERENCING OLD AS OLD NEW AS NEW 
BEGIN
  NULL;
END;

我们需要对BEGIN和END之间的代码进行更新。即将NULL;替换成

:NEW.MODIFIED_DATE := SYSDATE;

其中MODIFIED_DATE 为列名称。SYSDATE为系统时间戳。

(3)启动触发器

与设置id自增长类似。见前文

至此,TimeStamp可自动更新。

相关标签: timestamp oracle