在插入条件后创建触发器

问题描述 投票:2回答:1

如果要验证某些条件,我想创建一个触发器以将ID行插入到另一个表中。

SWAB_TEST

id_swab
id_user 
result

NO_INFECTED

id_user

例如,我想将拭子测试为否的用户的ID插入到NO_INFECTED表中

SWAB_TEST

id_swab : Test1
id_user : 1
result  : negative

NO_INFECTED

id_user: 1

我创建了此触发器,但我不知道如何插入条件

CREATE OR REPLACE TRIGGER test_trigg 
AFTER INSERT ON swab_test
FOR EACH ROW
BEGIN
 INSERT INTO no_infected (id_user)
 VALUES(:new.id_user);
END;
oracle plsql database-trigger
1个回答
2
投票

只需使用IF控件添加:new.result = 'negative'条件:

CREATE OR REPLACE TRIGGER test_trigg 
AFTER INSERT ON swab_test
FOR EACH ROW
BEGIN
IF :new.result = 'negative' THEN
 INSERT INTO no_infected (id_user)
 VALUES (:new.id_user);
END IF;
END;
/
© www.soinside.com 2019 - 2024. All rights reserved.