首页 > 代码库 > oracle 触发器
oracle 触发器
-- Create table a 触发器
create table T_AC_TEST
(
ID VARCHAR2( 32) not null primary key ,
AT_SWITCH CHAR( 1),
AT_UPDATE_TIME DATE,
AT_UPDATE_MAN VARCHAR2( 50)
)
-- 添加几条数据
select * from t_ac_test for update;
-- 验证触发器 新建b表
create table T_AC_TEST1
(
ID VARCHAR2( 32) not null primary key ,
AT_SWITCH CHAR( 1),
AT_UPDATE_MAN VARCHAR2( 50)
)
-- 添加几条数据
select * from T_AC_TEST1 for update;
-- 创建触发器器,对应的功能是 当a表的内容被修改后,b表保存a表修改的内容。
create or replace trigger tri_ins_EST_MOTHERFUCKER -- 创建触发器
after update -- 修改后操作
on ACT.t_Ac_Test -- on 后面的表是要修改的表 act是该表的所有者 t _ac_test 要修改的表
for each row ---说明创建的是行级触发器
begin
insert into ACT.t_Ac_Test1( ID,AT_SWITCH,AT_UPDATE_MAN)
values
(:NEW. ID,
:NEW.AT_SWITCH,
:NEW.AT_UPDATE_MAN);
end;
-- 创建触发器,
create or replace trigger tri_test --
before delete --
on ACT.t_Ac_Test -- on act t _ac_test
for each row ---
begin
insert into ACT.t_Ac_Test1( ID,AT_SWITCH,AT_UPDATE_MAN)
values
(:NEW. ID,
:NEW.AT_SWITCH,
:NEW.AT_UPDATE_MAN);
end;
-- 2个表的查询语句
select * from t_ac_test1;
select * from t_ac_test;
--修改a表触发器石头执行 并查看 b表的内容是否有a表修改的字段
update T_AC_TEST t set t.at_update_man = ‘‘ where t. id = ‘4028810f3bb26aa2013bb2babe450099‘ ;
delete from t_ac_test where id = ‘4028810f3bb26aa2013bb2babe450088‘
本文出自 “散散的拼着” 博客,请务必保留此出处http://angle8888.blog.51cto.com/7952608/1437390