在一个触发器中加入多个触发器

时间:2013-06-14 16:15:09

标签: mysql triggers

我为表创建了三个触发器。

插入后的一个触发器,一个在删除后的触发器,一个在更新后的最后一个触发器。

我的问题是:是否有办法在一个触发器上加入所有这些触发器?

这是我的三个触发器:

AFTER INSERT触发器:

 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 ;

AFTER DELETE触发器:

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 ;

AFTER UPDATE触发器:

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 ;

1 个答案:

答案 0 :(得分:0)

“触发器是一个与表关联的命名数据库对象,并且在表的特定事件发生时激活”(来自mysql文档)。每个触发器(如果为特定事件定义)。您无法为不同的事件创建一个触发器。