Установите значение переменной в MySQL Trigger - PullRequest
0 голосов
/ 13 января 2020

Я создаю триггер MySql и объявляю переменную. тогда у меня есть некоторые условия. внутри if нельзя установить значения этой объявленной переменной вне if. возможно? потому что мне нужны эти переменные данные для других функций. я всегда получаю нулевое значение.

Это мой пример кода. Настройка запроса получить значение при его выполнении

delimiter $$
CREATE TRIGGER Table1INSERTCustomer
    AFTER INSERT ON Table1
    FOR EACH ROW

BEGIN

DECLARE CustomerId integer;

IF (SELECT CustomerID FROM Seller WHERE Id = NEW.ResellerID AND CustomerID IS NOT NULL) 
THEN 
BEGIN

SET @CustomerId := (SELECT CustomerID FROM Seller WHERE Id = NEW.ResellerID LIMIT 1); <-- This is Problem

END; 
END IF;

END; 
$$ 

Большое спасибо

1 Ответ

0 голосов
/ 13 января 2020

Пример моделирования.

create table test1 (id int, val int);
insert into test1 values (1,11), (2,22);
select * from test1;
id | val
-: | --:
 1 |  11
 2 |  22
create table test2 (id int, val int);
create trigger tr 
after insert on test2
for each row
select test1.val into @var 
from test1 
where test1.id = NEW.id;
insert into test2 values (1,111);
select * from test1;
id | val
-: | --:
 1 |  11
 2 |  22
select * from test2;
id | val
-: | --:
 1 | 111
select @var;
| @var |
| ---: |
|   11 |

дБ <> скрипка здесь

Исследование. Применить.

...