Существует передача параметров в trigger?


у меня есть две таблицы, одна с сеансами и другой деятельности. В таблице деятельности у меня есть два поля, доступно и vendível и в течение сеанса я парковочных мест.

Хотел бы получить идентификатор сеанса, а надо сделать update в поле vendível, когда zerasse вакансии, что поле деятельности.vendível сделать update 0.

DELIMITER $$
CREATE TRIGGER atualizarStatus
AFTER UPDATE ON sessao
FOR EACH ROW
BEGIN
IF (sessao.vagas = 0) THEN
UPDATE atividade SET vendivel = 0 WHERE id = $id;
END IF;
END;
Author: gmsantos, 2015-07-23

1 answers

Их попытки были очень близки к достижению этой цели. Попробуйте так:

DELIMITER $$
CREATE TRIGGER atualizarStatus
   AFTER UPDATE ON sessao 
     FOR EACH ROW
   BEGIN
   IF NEW.vagas = 0 THEN
      UPDATE atividade SET vendivel = 0 WHERE id = NEW.id;
   END IF;
END;

И В trigger, зарезервированные слова NEW и OLD позволяют добраться до столбцов с записей которые были затронуты в инструкции, что ча сти диа ло trigger. В этом случае вы можете использовать NEW для перехода в состояние записи после ОБНОВЛЕНИЯ.

 1
Author: bruno, 2015-07-23 20:18:04