Создать триггер после вставки с условием - PullRequest
2 голосов
/ 05 мая 2020

Я хочу создать триггер для вставки в другую таблицу строки идентификатора, если определенные условия проверены.

SWAB_TEST

id_swab
id_user 
result

NO_INFECTED

id_user

Например, я хочу вставить в таблицу 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;

1 Ответ

2 голосов
/ 05 мая 2020

Просто нужно добавить условие 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;
/
...