Plsql 如果另一列为空,则使用触发器修改一列
在我的系统中,我们根据设备状态生成报警别名,因此它对某些数据有效,但对所有对象无效。因此,我找到了一种解决方案,例如,如果该设备在报警别名列中没有任何值,那么我将尝试更新该对象的上次修改日期,下次运行时,它将生成报警别名。 所以现在我想写一个触发器,用于在alarms alias filled为空时更新last modified date列。Plsql 如果另一列为空,则使用触发器修改一列,plsql,Plsql,在我的系统中,我们根据设备状态生成报警别名,因此它对某些数据有效,但对所有对象无效。因此,我找到了一种解决方案,例如,如果该设备在报警别名列中没有任何值,那么我将尝试更新该对象的上次修改日期,下次运行时,它将生成报警别名。 所以现在我想写一个触发器,用于在alarms alias filled为空时更新last modified date列。 请建议或让我知道如何在plsql中实现它。您的问题有点模糊,但如果您使用的是单个表,请尝试以下方法: CREATE OR REPLACE TRIGGER
请建议或让我知道如何在plsql中实现它。您的问题有点模糊,但如果您使用的是单个表,请尝试以下方法:
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;
/
如果发布表结构或DDL语句,将使帮助变得更简单