触发器编写

以前项目中编写的触发器

 

create or replace trigger TRG_IUD_EX_FEE_SECHEME_MAIN
  after insert or update or delete
  on fee_scheme_main 
  for each row
declare
  emp_table_name varchar2(20) default 'fee_scheme_main';
  emp_syn_status varchar2(1) default '0';
  emp_dm_type varchar2(10);
  v_count number;
begin
   if inserting then
       emp_dm_type := 'insert';
       insert into t_logs_activity_fee(table_name,corp_code,syn_status,dm_type)
       values(emp_table_name,:New.scheme_id,emp_syn_status,emp_dm_type);
      
   end if;
  if updating then
       select count(*) into v_count  from t_logs_activity_fee t where t.corp_code=:old.scheme_id
       and t.table_name=emp_table_name;

       if v_count>0 then
       emp_dm_type := 'update';
       update t_logs_activity_fee t set t.syn_status=emp_syn_status,t.dm_type=emp_dm_type where t.corp_code=:New.scheme_id
       and t.table_name=emp_table_name;
       else
       emp_dm_type := 'insert';
        insert into t_logs_activity_fee(table_name,corp_code,syn_status,dm_type)
       values(emp_table_name,:New.scheme_id,emp_syn_status,emp_dm_type);
       end if;
       end if;
  
  if deleting then
       emp_dm_type := 'delete';
       select count(*) into v_count  from t_logs_activity_fee t where t.corp_code=:old.scheme_id
       and t.table_name=emp_table_name;
       if v_count>0 then
       update t_logs_activity_fee t set t.syn_status=emp_syn_status,t.dm_type=emp_dm_type where t.corp_code=:old.scheme_id
       and t.table_name=emp_table_name;
       else
       insert into t_logs_activity_fee(table_name,corp_code,syn_status,dm_type)
       values(emp_table_name,:old.scheme_id,emp_syn_status,emp_dm_type);
       end if;

       end if;

end TRG_IUD_EX_FEE_SECHEME_MAIN;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值