2013-08-23 137 views
0

我有一张表格,用于跟踪有多少员工被分配到特定的班次。每次将用户分配到一个班次时,触发器都会通过将列号加1来更新表格。 (这是由于性能问题)针对不同事件的相同触发器

触发器在插入后触发。但我也需要它来触发当用户被删除。我真的不想使用两个基本相同的触发器。

无论如何不使用程序来实现这一点?

+0

使用一个程序为不同的trigers。 –

回答

1

不,你不能实现那是你不想使用存储过程和两个触发器。在MySQL中,触发器可以只附着一个trigger_time & trigger_event - 因为它是defined这样的方式:

trigger_time: { BEFORE | AFTER } 
trigger_event: { INSERT | UPDATE | DELETE } 

因此,在任何情况下,你需要有两个触发器,而且,如果你不想在其中重复一些代码,你必须使用存储过程。既然你不想使用存储过程,我相信你的问题没有可接受的解决方案。

+0

男人我讨厌这个。什么样的老派技术是这样的 - 通过定义2个事件的触发器,问题出在哪里。我认为我需要使用一个程序。 2触发器都称为相同的功能,如果我在程序中这样做,我的教授会杀了我...... – mercsen

0

触发器与一个表和一个特定的事件(插入,更新,删除)相关联。 你有两个动作:AFTER INSERT和AFTER DELETE,所以你需要两个触发器。

相关问题