如果其他coulmn为空,则使用触发器进行一列修改

时间:2016-03-09 05:10:48

标签: plsql

在我的系统中,我们根据设备状态生成警报别名,因此它适用于某些数据但不适用于所有对象,因此我找到了一个解决方案,例如,如果该设备在警报别名列中没有任何值,那么我将尝试更新该对象的上次修改日期,然后运行它将生成警报别名。 所以现在我想写一个触发器来更新上次修改日期列,如果填充的警报别名是空白的。 请建议或让我知道它是如何在plsql中实现的。

1 个答案:

答案 0 :(得分:0)

您的问题有点模糊,但如果您正在使用单个表格,请尝试以下方法:

CREATE OR REPLACE TRIGGER myschema.activity_log_t1
   BEFORE INSERT or update
   ON myschema.activity_log
   REFERENCING NEW AS new OLD AS old
   FOR EACH ROW
DECLARE
/******************************************************************************
   NAME:       activity_log_t1
   PURPOSE:    Set default field values in activity_log table
   Modified:   2016.02.09 - BFL Created
******************************************************************************/
BEGIN
   IF :new.alarm_alias IS NULL
   THEN
      :new.modified_date   := SYSDATE;
   END IF;
END activity_log_t1;
/