插入更新另一个表后创建触发器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入更新另一个表后创建触发器相关的知识,希望对你有一定的参考价值。

当拭子测试的状态从正变为负时,我试图创建一个在插入后更新另一个表的触发器。

我创建了此触发器,但是问题是,每当有一个拭子为负的用户时,即使该用户从未为正,也将用户ID复制到表中。也许我可以比较一下日期吗?

Create or replace trigger trigger_healed 
After insert on swab_test
For each row
Begin
  if :new.result = 'Negative' then
     UPDATE illness_update
     SET illness_update.state = 'healed'
     WHERE illness_update.id_user = :new.id_user;
 end if;
end;

这是我想要得到的结果。

SWAB_TEST

id_user id_swab swab_result   date
1       test1   'positive'  May-01-2020
1       test1   'negative'  May-08-2020
2       test2   'negative'  May-02-2020

ILLNESS_UPDATE

id_user  state     date
1       'healed'  May-08-2020

以上是关于插入更新另一个表后创建触发器的主要内容,如果未能解决你的问题,请参考以下文章

将主键插入第一个表后,如何使用触发器将主键插入另一个表?

在插入不同的表后触发更新表

创建触发器:通过将数据插入另一个表行来更新表列

您能否在视图上编写触发器,该视图在更改其基表后利用插入和删除表中的数据?

更新子表后数据库触发器更新父表上的行

使用触发器插入后更新另一个表?