之前对id的自增长进行了设置,原以为时间戳的更新也类似,使用序列之类的,但最终发现跟序列没半毛钱关系。触发器是肯定要用的,但编写脚本也是需要的。
(1)创建触发器
图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可自动更新。