ORACLE数据库——触发器的创建和使用
触发器 触发器组成 1、触发事件 DML或DDL语句。 2、触发时间 是在触发事件发生之前(before) 还是之后(after) 触发 3、触发操作 使用PL/SQL块进行相应的数据库操作 4、触发对象 表、视图、模式、数据库 5、触发频率 触发器内定义的动作被执行的次数,包括语句级和行级ji。 限制 1、触发器不接受参数 2、一个表上最多可有12个触发器,但同一时间、同一事件、同一类型的触发器只能有一个。并各触发器之间不能有矛盾。 3、一个表上的触发器越多,该表上的DM操作的性能影响就越大 4、触发器代码的大小不能超过32K。如需要大量的代码创建触发器,则首先创建过程,然后在触发器中使用CALL语句调用过程 5、触发器代码只能包含SELECT、INSERT、UPDATE和DELETE语句, 6、不能包含DDL语句(CREATE、ALTER和DROP) 和事务控制语句(COMMIT、ROLLBACK和SAVEPOINT) 创建dml触发器 语句触发器 1、语句触发器是指当执行DML语句时被隐含执行的触发器 2、如果在表上针对某种DML操作创建了语句触发器,则当执行DML操作时会自动地执行触发器的相应代码 3、为了审计DML操作,或者确保DML操作安全执行时,可以使用语句触发器 触发器用途很多,例如用户清算购物车后将会触发待收货的数据库 代码示例: -