温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oracle 触发器

发布时间:2020-07-17 16:21:01 来源:网络 阅读:477 作者:116923470 栏目:关系型数据库

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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI