概述
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触发器的语法如下:
- 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;
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:
译:如果你有一个如下的表:
- CREATE TABLE orders
- ( order_id number(5),
- quantity number(4),
- cost_per_item number(6,2),
- total_cost number(8,2)
- );
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触发器:
- CREATE OR REPLACE TRIGGER orders_after_delete
- AFTER DELETE
- ON orders
- FOR EACH ROW
- DECLARE
- v_username varchar2(10);
- BEGIN
- -- Find username of person performing the DELETE on the table
- SELECT user INTO v_username
- FROM dual;
- -- Insert record into audit table
- INSERT INTO orders_audit
- ( order_id,
- quantity,
- cost_per_item,
- total_cost,
- delete_date,
- deleted_by)
- VALUES
- ( :old.order_id,
- :old.quantity,
- :old.cost_per_item,
- :old.total_cost,
- sysdate,
- v_username );
- END;
最后
以上就是美丽蜜粉为你收集整理的AFTER DELETE Trigger的全部内容,希望文章能够帮你解决AFTER DELETE Trigger所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复