PL/ SQL 触发器

本文介绍了Oracle数据库中的四种触发器类型:简单DML触发器、INSTEAD OF DML触发器、复杂DML触发器和系统触发器。通过实例展示了如何在插入、更新或删除操作时自动执行预定义的任务,以及如何在视图上操作时影响底层表。
摘要由CSDN通过智能技术生成

-- Start

Oracle 支持下面几种类型的触发器。

简单DML 触发器

DML 触发器和一个特定的表相关联,当向表中INSERTT、UPDATE、DELETE记录时,触发器会自动激活执行一些预定义的操作。

下面是一个简单的例子,每当插入或更新 EMPLOYEES 表的时候自动给 LAST_UPDATE_TIME 赋值。

create table employees
(
	employee_id        number(6,0), 
	first_name         varchar2(20 byte), 
	last_name          varchar2(25 byte), 
	salary             number(8,2),
	last_update_time   timestamp
);

create or replace trigger emp_last_update_time
before insert or update on employees
referencing new as nnn
for each row
begin
	:nnn.last_update_time := current_timestamp;
end;

insert into employees values (1, 'Bo', 'Shang', 8888, null);

1. emp_last_update_time 表示触发器名字。
2. before 表示触发的时间点,有下面两种触发时间点。
    前触发器(BEFORE):
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值