Oracle教程

Oracle 触发之前

此语句指定Oracle将在 之前执行INSERT/UPDATE或DELETE操作的情况下触发该触发器。
语法
CREATE [ OR REPLACE ] TRIGGER trigger_name
BEFORE 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: : 它指定要创建的触发器的名称。
在INSERT/UPDATE/DELETE之前: : 它指定在执行INSERT或UPDATE或DELETE操作之前将触发触发器。
table_name: : 它指定要在其上执行触发操作的表的名称。

限制

无法在视图上创建触发器。 您无法更新OLD值。 您只能更新新值。

Oracle在触发示例之前

考虑一下,您有一个带有以下参数的"SUPPLIERS"表。
CREATE TABLE  "SUPPLIERS" 
   (    "SUPPLIER_ID" NUMBER, 
    "SUPPLIER_NAME" VARCHAR2(4000), 
    "SUPPLIER_ADDRESS" VARCHAR2(4000)
   )
/
您可以使用以下 CREATE TRIGGER查询创建BEFORE INSERT或UPDATE或DELETE触发器:
CREATE OR REPLACE TRIGGER  "SUPPLIERS_T1" 
BEFORE
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_T1" ENABLE
/
此处,触发器名称为" SUPPLIERS_T1",并且在对表"SUPPLIERS"执行插入或更新或删除操作之前将其触发。
Oracle触发之前
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4