2013-06-14 4 views
0

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

Один триггер после Вставки, один после удаления, последний после обновления.

Мой вопрос: не существует способа присоединиться ко всем этим триггерам на одном триггере?

Это мои три триггера:

ПОСЛЕ ВСТАВКИ Trigger:

DELIMITER // 
    CREATE TRIGGER `augmenter_quantite_Article` AFTER INSERT ON `LigneInterventaire` 
    FOR EACH ROW UPDATE Article 
     SET qteArt = qteArt + NEW.qteInv 
     WHERE codeArt = NEW.codeArt 
    // 
    DELIMITER ; 

ПОСЛЕ УДАЛЕНИЕ Trigger:

DELIMITER // 
CREATE TRIGGER `diminuer_quantite_Article` AFTER DELETE ON `LigneInterventaire` 
FOR EACH ROW UPDATE Article 
    SET qteArt = qteArt - OLD.qteInv 
    WHERE codeArt = OLD.codeArt 
// 
DELIMITER ; 

После обновления Trigger:

DELIMITER // 
CREATE TRIGGER `update_quantite_Article` AFTER UPDATE ON `LigneInterventaire` 
FOR EACH ROW BEGIN 
    UPDATE Article 
    SET qteArt = qteArt - OLD.qteInv 
    WHERE codeArt = OLD.codeArt; 
    UPDATE Article 
    SET qteArt = qteArt + NEW.qteInv 
    WHERE codeArt = NEW.codeArt; 
END 
// 
DELIMITER ; 

ответ

0

«Триггер - это именованный объект базы данных, связанный с таблицей, и который активируется при возникновении определенного события для таблицы» (из документации mysql). Каждый триггер, если он определен для определенного события. Вы не можете создать один триггер, который будет запущен для разных событий.

Смежные вопросы