我是 DB Oracle 的新手,当我在 Clarity(即项目和项目组合管理应用程序)中创建新请求或更改请求状态时,我想将该字段更新status
为mb_status_idea
.
以下查询在更新的情况下运行良好,但如果我创建一个新请求,它不会更新状态。(所以状态不等于状态 MB)。
IF ( :old.mb_status_idea != :new.mb_status_idea)
THEN update inv_investments a
set a.status = stat
where a.id=:new.id ;
END IF;
我认为问题在于,在创建新请求时,由于插入触发器 OLD 包含 NO VALUE,因此条件为假并且不会更新状态。
注意:该字段status
位于表 INV_INVETMENTS 中,(stat := :new.mb_status_idea) 状态 MB 的数据库列是mb_status_idea
我还添加了这个条件 --> 或(:old.mb_status_idea 为空),但是当我再次创建新请求时,“状态”和“状态 MB”的值不同(状态未更新)。
如果有人可以帮助克服这个问题,我将不胜感激。
所有想法都受到高度赞赏,
莫娜