触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统中,触发器类似过程和函数,都有声明,执行和异常吃力过程的PL/SQL块。
(一)触发器类型
触发器在数据库里以独立的对象存储,它与存储对象不同的是,存储过程通过其他程序来启动运行或直接启动运行,而触发器是由一个事件来启动运行。 即触发器是当某个事件发生时自动地隐式运行。并且,触发器不能接收参数。 所以运行触发器就叫触发或点火。ORACLE事件指的是对数据库的表进行的INSERT,UPDATE,DELETE操作或对试图进行类似的操作。ORACLE将触发器的功能扩展到了触发ORACLE,如数据库的启动与关闭等。
1、DML触发器
ORACLE可以在DML语句进行触发,可以在DML操作前或操作后进行触发,并且可以对每个行或语句操作上进行触发。
2、替代触发器
由于在ORACLE,不能直接对由两个以上的表建立的视图进行操作,所以给出了替代触发器。
3、系统触发器
它可以在ORACLE数据库系统的时间中进行触发,如ORACLE系统的启动与关闭等。
(二)创建触发器
—— 一个helloworld级别的触发器
—— 触发器的 helloworld: 编写一个触发器, 在向 emp 表中插入记录时, 打印 'helloworld'
(三):new, :old 修饰符
—— 编写一个触发器, 在对 my_emp 记录进行删除的时候, 在 my_emp_bak 表中备份对应的记录
1、创表
2、写触发器
3、查看效果