Oracle 应用项目
——触发器实例
本文档来自刘志成, 冯向科主编《ORACLE 数据库管理与应用实例教程(第 2
版)》人民邮电出版社,2015.01
1 替代触发器
INSTEAD OF 触发器主要用来对另一个表或者视图进行 DML 操作。
【例 1】已经创建了查询商品信息的视图 VW_GOODSINFO,视图结构包含商品编号、
商品名称、商品类别和详细描述。对于视图 VWGOODSINFO,考虑使用更新语句,以期更
新视图,达到更新基表中数据的目的。
(1)定义视图
CREATE OR REPLACE VIEW SCOTT.VW_GOODSINFO
AS
SELECT g_ID, g_NAME, t_NAME,g_PRICE
FROM SCOTT.GOODS G
JOIN SCOTT.TYPES T
ON G.t_ID = T.t_ID;
(2)更新视图数据
对于视图 VWGOODSINFO,考虑使用更新语句,以期更新视图,达到更新基表中数据
的目的。相应的 PL/SQL 语句如下所示:
UPDATE SCOTT.VW_GOODSINFO
SET g_NAME = '三星 SGH-C888',t_NAME = '电脑产品'
WHERE g_ID = '010006';
(3)创建 INSTEAD OF 触发器
1 / 4
Oracle 应用项目— 触发器实例