现在的位置: 首页 > 综合 > 正文

菜鸟学 oracle中的触发器

2018年04月26日 ⁄ 综合 ⁄ 共 895字 ⁄ 字号 评论关闭
--------学生表的创建------
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 是个不错的选择哦~~~~

抱歉!评论已关闭.