PLSQL 里头的TRIGGER
,其实跟过程、函数挺像的——都有名字、有声明部分,也能异常。不同点嘛,主要是触发方式。过程和函数得你手动调用,而触发器是数据库自己看情况激活,比如你对表做了INSERT
、UPDATE
、DELETE
操作,它就自己跑起来,完全不用你操心。哦对了,TRIGGER 必须存在数据库里,不像过程和函数那样能自由调用。
实战中,像记录日志、做审计、自动补数据,这类事用触发器特顺手。你只管操作表,触发器就帮你干活,逻辑清晰还不容易漏。
如果你平时有写PLSQL
,或者要优化数据操作流程,真心建议你多看看这份课件。想了解更多的话,底下这几个链接也蛮有参考价值:
创建 DML 触发器的存储过程与函数,Oracle Trigger 研究笔记,还有Trigger 数据库触发器课件。
如果你老是记不住触发器怎么写,可以先从AFTER INSERT
玩起,逻辑搞懂后再慢慢加料。