Триггер с данными запроса - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть таблица с информацией:

INSERT INTO Transferencias
('Origem_Apostador_ID', 'Destino_Apostador_ID', 'Valor_Transferido')
VALUES
('1', '6', '200.00');

И мне нужно получить значение '200,00' и суммировать его с данными из другой таблицы после того, как это значение было вставлено в таблицу для этой таблицы ниже:

INSERT INTO Conta
('Apostador_ID', 'Saldo', 'Qtd_Saque', 'Qtd_Deposito', 'Qtd_Transferencia')
VALUES
('1', '700.00', '0', '1', '0');

Понятия не имею, как я могу использовать данные из запроса для обновления столбца "Saldo".

1 Ответ

0 голосов
/ 13 декабря 2018

Я не знаю, правильно ли я понял ваш вопрос, но я думаю, что вам нужно что-то вроде этого:

UPDATE Conta 
   SET Saldo = Saldo + (SELECT Valor_Transferido FROM Transferencias WHERE Origem_Apostador_ID = '1') 
 WHERE Apostador_ID = '1';

Вы можете добавить этот код к некоторому триггеру, если хотите.Вы можете найти множество примеров простых триггеров для выполнения работы в зависимости от вашей базы данных.

ПРИМЕР ТРИГГЕРА НА MYSQL

CREATE TRIGGER TRG_UPDATE_SALDO BEFORE INSERT ON Transferencias
FOR EACH ROW
   BEGIN
       IF NEW.Valor_Transferido > 0 THEN

    --Increments the destination account
    UPDATE Conta 
       SET Saldo = Saldo + NEW.Valor_Transferido 
     WHERE Apostador_ID = NEW.Destino_Apostador_ID;

    --Subtracts the origin account
    UPDATE Conta 
       SET Saldo = Saldo - NEW.Valor_Transferido 
     WHERE Apostador_ID = NEW.Origem_Apostador_ID;
       END IF;
   END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...