第11章 触发器—保证数据的正确性
触发器在Oracle开发中使用也比较普遍,利用它可以得到数据变更的日志记录,还可以强制保证数据的一致性。本章将介绍触发器的作用和使用,主要包含以下知识点:
❑什么是触发器
❑触发器的作用
❑触发器的语法
❑如何使用触发器
11.1 什么是触发器
学习存储过程后,认识和了解触发器并不复杂,它们之间有着相似之处。相信通过本节对触发器的介绍,读者无论在概念上还是在语法上对触发器都会有一个初步的认识。
11.1.1 认识触发器
前面介绍过存储过程。其实触发器和存储过程比较类似,它由PL/SQL编写并存储在数据库中,它可以调用存储过程,但触发器本身的调用和存储过程调用却是不一样的。存储过程由用户、应用程序、触发器或其他过程调用。但触发器只能由数据库的特定事件来触发。所谓的特定事件主要包括如下几种类型的事件。
1)用户在指定的表或视图中做DML操作,主要包括如下几种:
❑INSERT操作,在特定的表或视图中增加数据。
❑UPDATE操作,对特定的表或视图修改数据。
❑DELETE操作,删除特定表或视图的数据。
2)用户做DDL操作,主要包括如下几种:
❑CREATE操作,创建对象。
❑ALTER操作,修改对象。
❑DROP操作,删除对象。
3)数据库事件,主要包括如下几种:
❑LOGON/LOGOFF用户的登录或注销。
❑STARTUP/SHUTDOWN数据库的打开或关闭。
❑ERRORS特定的错误消息等。
在以上事件中的一种或多种发生时就能使触发器运行。