首页 > 数据库技术 > 详细

oracle 触发器

时间:2014-07-13 14:20:28      阅读:399      评论:0      收藏:0      [点我收藏+]

-- 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

oracle 触发器,布布扣,bubuko.com

oracle 触发器

原文:http://angle8888.blog.51cto.com/7952608/1437390

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!