触发器是一个已命名的SPL代码块,它与表关联并存储在数据库中。当关联表中发生指定事件时,将执行该SPL代码块。当该代码块执行时,触发器被视为触发。
导致触发器触发的事件可以是直接或间接对表执行的插入、更新或删除的任意组合。如果表是SQL INSERT、UPDATE或DELETE命令的对象,则将直接触发触发器,前提是相应的插入、更新或删除事件定义为了触发事件。触发触发器的事件在CREATE TRIGGER
命令中定义。
如果由于在另一个表上启动事件而在本表发生触发事件,则可间接触发触发器。例如,如果在一个包含外键(使用ON DELETE CASCADE子句定义)的表上定义了触发器,并且父表中的一行被删除,那么父级的所有子级也将被删除。如果删除是子表上的触发事件,则删除子级将导致触发器触发。