将三个触发器转换为一个

时间:2014-07-18 21:40:16

标签: mysql sql

我试图在同一张桌子上实际调用来自3个不同triger的3个存储过程。 实际上我有3个存储过程:insert_user(),update_user(),delete_user()。问题是我有3个与同一个表wp_users关联的触发器,问题是只有一个触发器可以与一个表关联(如果我理解的话)。所以我正在寻找另一种解决方案。

user_insert之后创建TRIGGER wp_users     对于每一行     开始        CALL insert_user();     END;

user_update之后创建TRIGGER wp_users     对于每一行     开始        CALL update_user();     END;

user_delete之后创建TRIGGER wp_users     对于每一行     开始        CALL delete_user();     END;

所以我的问题是如何将这3个触发器转换为一个,以便我有一个触发器与一个表相关联,在表wp_user上执行插入,更新或删除?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您需要指定正确的AFTER子句:

CREATE TRIGGER user_insert AFTER INSERT ON wp_users FOR EACH ROW BEGIN CALL insert_user(); END;

CREATE TRIGGER user_update AFTER UPDATE ON wp_users FOR EACH ROW BEGIN CALL update_user(); END;

CREATE TRIGGER user_delete AFTER DELETE ON wp_users FOR EACH ROW BEGIN CALL delete_user(); END;