Oracle触发器在插入/更新/删除之后触发

本文概述

  • 参数
  • 局限性
  • Oracle AFTER触发器示例
该语句指定Oracle将在执行INSERT / UPDATE或DELETE操作之后触发该触发器。
句法
CREATE [ OR REPLACE ] TRIGGER trigger_name AFTER INSERT or UPDATE or DELETE ON table_name [ FOR EACH ROW ] DECLARE -- variable declarations BEGIN -- trigger code EXCEPTION WHEN ... -- exception handling END;

参数 或替换:它是一个可选参数。如果触发器已经存在, 则用于重新创建触发器。它使你无需使用DROP TRIGGER语句即可更改触发器定义。
trigger_name:它指定要创建的触发器的名称。
AFTER INSERT或UPDATE或DELETE之后:指定执行INSERT或UPDATE或DELETE操作后将触发该触发器。
table_name:它指定要在其上执行触发操作的表的名称。
局限性
  • 无法在视图上创建AFTER触发器。
  • 你无法更新OLD值。
  • 你只能更新NEW值。
Oracle AFTER触发器示例 【Oracle触发器在插入/更新/删除之后触发】考虑一下, 你有一个带有以下参数的” 供应商” 表。
CREATE TABLE"SUPPLIERS" ( "SUPPLIER_ID" NUMBER, "SUPPLIER_NAME" VARCHAR2(4000), "SUPPLIER_ADDRESS" VARCHAR2(4000) ) /

你可以使用以下CREATE TRIGGER查询来创建AFTER INSERT或UPDATE或DELETE触发器:
CREATE OR REPLACE TRIGGER"SUPPLIERS_T2" AFTER insert or update or delete on "SUPPLIERS" for each row begin when the person performs insert/update/delete operations into the table. end; / ALTER TRIGGER"SUPPLIERS_T2" ENABLE /

此处的触发器名称为” SUPPLIERS_T2″ , 并且在对表” 供应商” 执行插入, 更新或删除操作后将其触发。
Oracle触发器在插入/更新/删除之后触发

文章图片

    推荐阅读