您的位置:首页 > 数据库 > Oracle

菜鸟学 oracle中的触发器

2012-07-30 10:36 225 查看
--------学生表的创建------
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 是个不错的选择哦~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息