Oracle 触发器:类型、应用及优势(oracle触发器类型)
Oracle触发器是Oracle用来处理数据库行为的一种灵活工具,他能够监测用户对数据库或表的某种操作,并可自动进行后续的必须的操作。触发器有两种类型:数据库触发器和表触发器。
数据库触发器是隐含在数据库中的“见不到”的一种触发器,它通过监控连接的消息来执行,比如记录日志记录或锁定特定的操作等。常用的数据库触发器如 LOGON、LOGOFF 和 STARTUP 等。
表触发器是绑定在表上的,隐含在数据库中的某个表上,它在表上发生某些操作时触发,当用户提交对这个表的INSERT,UPDATE, DELETE操作时触发,表触发器也可以绑定在视图上,甚至在调用存储过程的View上,但Price列不能指定为触发器的IV查询列。
触发器的应用场景非常广泛,可以概括为两个大类:日志、安全。日志方面,Oracle可以利用触发器主动进行信息记录操作,如记录表增加,修改,删除及更新等;而安全方面则能够限制非法访问,防止表数据被意外或恶意改动等。
综上:触发器有通知发送者与接受者两个动作, 它可以运行查询,修改,删除和更新数据库的内容,确保客户端的安全性和运行的灵活性。Oracle 触发器具有自动操作,在指定条件下自动触发,节省编程时间,具有高效性和灵活性的优势。
下面是一个Oracle 触发器的例子:
–创建表触发器,当products表中product_price大于50时将触发器
CREATE OR REPLACE TRIGGER trig_products
AFTER UPDATE OF product_price ON products
WHEN (new.product_price>50)
BEGIN
INSERT INTO products_log(change_date,product_price)
VALUES (SYSDATE,new.product_price);
END;
/