菜鸟学 oracle中的触发器

本文介绍了如何在Oracle数据库中创建学生信息表和成绩表,并通过触发器实现数据的自动同步更新。此外,还详细展示了如何创建用于级联更新的触发器。
--------学生表的创建------
create table stumsg
(
name varchar2(20),
num char(4) primary key
);
---------成绩表的创建--------
create table stuclass
(
num char(4),
math smallint,
chinese smallint,
constraint fk_class foreign key(num) references stumsg(num) on delete cascade,
constraint pk_class primary key(num)
);

-------创建触发器--------
set serveroutput on
create or replace trigger "trg_1"
after insert
on stumsg
begin
    dbms_output.put_line('试一下学习一下触发器的使用...');
end trg_1;


---------触发器的查看--------
select trigger_name trg_1,
       trigger_type after statement,
       triggering_event insert,
       table_name stumsg
from user_triggers;

insert into stuclass
values
('1001','90','100');

---------触发器的修改-----------

create or replace trigger "trg_1"
after insert
on stumsg for each row
begin
    update stuclass set num=:new.num;
end trg_1; 

------------级联更新------------
create or replace trigger "trg_up"
after update
on stumsg for each row
begin
    update stuclass set num=:new.num;
end trg_up; 
注意: oracle中 只有级联删除 ,没有级联更新。所以,要实现级联更新,用 trigger 是个不错的选择哦~~~~
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值