--------学生表的创建------ 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 是个不错的选择哦~~~~