Oracle Trigger触发器
一、触发器背景简介 触发器的定义就是说 某个条件成立 的时候,触发器里面所定义的语句就会被自动的执行。 因此触发器不需要人为的去调用,也不能调用。 然后,触发器的触发条件其实在你 定义的时候 就已经设定好了。 这里面需要说明一下,触发器可以分为 语句级触发器 和 行级触发器 。 简单的说就是: 语句级的触发器可以在某些语句执行前或执行后被触发。 而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。 具体举例: 1、 在一个表中定义语句级的触发器,当这个表被删除时,程序就会自动执行触发器里面定义的操作过程。这个【删除表的操作】就是触发器执行的条件。 2、 在一个表中定义行级的触发器,那当【这个表中一行数据发生变化】的时候,比如删除了一行记录,那触发器也会被自动执行了。 二、创建触发器 触发器语法: create [or replace] trigger 触发器名 触发时间 触发事件 on 表名 [for each row] begin pl/sql语句 end 其中: 触发器名:触发器对象的名称。由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。 触发时间:指明触发器何时执行,该值可取: before:表示在数据库动作之前触发器执行; after:表示在数据库动作之后触发器执行。 触发事件:指明哪些数据库动作会触发此触发器: insert