Как скопировать последнюю вставленную строку и вставить ее в другую таблицу в SQL? - PullRequest
0 голосов
/ 23 января 2019

У меня есть 3 таблицы, используя after insert trigger Я пытаюсь взять последнюю вставленную строку в table1, затем сравниваю параметры строки с table2, и если это не exists в table2, тогда возьмите строку и вставьте еев table3.

Как мне построить этот триггер, чтобы он работал?

В таблице 1 я вызвал триггер "send_to_3"

table1
AFTER
INSERT

defenition:

Я не знаю, как написать код перед "IF" ...

INSERT INTO 'table3'('ID','name','last_name') VALUES (?,?,?)
IF(new.data = (SELECT data FROM table2 WHERE table2.data <> new.data),1,0)

INSERT 
IF(new.data  = (SELECT data  FROM table2 WHERE table2.data  <> new.data ),1,0)

1 Ответ

0 голосов
/ 23 января 2019

Вы можете написать это без if:

insert into table3 (id, name, lastname)
    select n.*
    from (select new.id, new.name, new.lastname, new.data) n
    where not exists (select 1
                      from table2 t2
                      where t2.data = n.data
                     );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...