0

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

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

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

这是我的三个触发器:

后插入触发器:

 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 ;

删除后触发器:

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 ;

更新后触发器:

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 ;
4

1 回答 1

0

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

于 2013-06-14T16:22:49.893 回答