我是靠谱客的博主 美丽蜜粉,最近开发中收集的这篇文章主要介绍AFTER DELETE Trigger,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

An AFTER DELETE Trigger means that Oracle will fire this trigger after the DELETE operation is executed.
译:AFTER DELETE表示在DELETE操作执行后,ORACLE会引发该触发器
The syntax for an AFTER DELETE Trigger is:
译:AFTER DELETE触发器的语法如下:

Sql代码 复制代码
  1. CREATE or REPLACE TRIGGER trigger_name   
  2. AFTER DELETE  
  3.     ON table_name   
  4.     [ FOR EACH ROW ]   
  5. DECLARE  
  6.     -- variable declarations   
  7. BEGIN  
  8.     -- trigger code   
  9. EXCEPTION   
  10.     WHEN ...   
  11.     -- exception handling   
  12. END;  
CREATE or REPLACE TRIGGER trigger_name
AFTER DELETE
ON table_name
[ FOR EACH ROW ]
DECLARE
-- variable declarations
BEGIN
-- trigger code
EXCEPTION
WHEN ...
-- exception handling
END;


trigger_name is the name of the trigger to create.
译:trigger_name表示创建的触发器名
Restrictions:
·   You can not create an AFTER trigger on a view.
·   You can not update the :NEW values.
·   You can not update the :OLD values.
译:
限制:
·   不能够在视图上创建AFTER触发器。
·   不能够更新 :NEW 的值。
·   不能够更新 :OLD 的值。
For example:
If you had a table created as follows:
译:如果你有一个如下的表:

Sql代码 复制代码
  1. CREATE TABLE orders    
  2. ( order_id number(5),    
  3.   quantity number(4),    
  4.   cost_per_item number(6,2),    
  5.   total_cost number(8,2)    
  6. );   
CREATE TABLE orders
( order_id number(5),
quantity number(4),
cost_per_item number(6,2),
total_cost number(8,2)
); 




We could then create an DELETE UPDATE trigger as follows:
译:我们像下面这样创建一个DELETE UPDATE触发器:

Sql代码 复制代码
  1. CREATE OR REPLACE TRIGGER orders_after_delete   
  2. AFTER DELETE  
  3.     ON orders   
  4.     FOR EACH ROW   
  5. DECLARE  
  6.     v_username varchar2(10);   
  7. BEGIN  
  8.     -- Find username of person performing the DELETE on the table   
  9.     SELECT user INTO v_username   
  10.     FROM dual;   
  11.     -- Insert record into audit table   
  12.     INSERT INTO orders_audit   
  13.      ( order_id,   
  14.        quantity,   
  15.        cost_per_item,   
  16.        total_cost,   
  17.        delete_date,   
  18.        deleted_by)   
  19.     VALUES  
  20.      ( :old.order_id,   
  21.        :old.quantity,   
  22.        :old.cost_per_item,   
  23.        :old.total_cost,   
  24.        sysdate,   
  25.        v_username );   
  26. END;   
  27.    

最后

以上就是美丽蜜粉为你收集整理的AFTER DELETE Trigger的全部内容,希望文章能够帮你解决AFTER DELETE Trigger所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部