第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特定的错误消息等。

在以上事件中的一种或多种发生时就能使触发器运行。