Oracle触发器修改本表数据

需求:一张表新增数据时,如果其中一个字段的值为空则将新增数据中的另一个字段值的值赋值给该字段。

例1:当mdm_store_query表新增数据时,如果DESC58为空,则将新增数据中code字段的值赋值给该字段。

create or replace trigger INSERT_CRM_STORE_query
  before insert
  on mdm_store_query
  for each row
  begin
    if  (:new.DESC58 is null or :new.DESC58='')
      then
        DBMS_OUTPUT.put_line('TESTCHUFAQI:'||:new.code);
        :new.DESC58 := :new.code;
    end if;
  end;

  例2:mdm_store_queryvalue表新增数据时,如果某个字段为空,则将新增数据中code字段的值赋值给该字段。      

create or replace trigger INSERT_CRM_STORE_queryvalue
  before insert
  on mdm_store_queryvalue
  for each row
  declare
   v_code mdm_store_query.code%type;
  begin
    select t.code into v_code from mdm_store_query  t where t.codeid=:new.codeid;
    if  (:new.PROPERTYCODE = 'A030203' and :new.SPECIALITYCODE='A0302' and
         (:new.PROPERTYVALUE is null or :new.PROPERTYVALUE=''))
      then
        :new.PROPERTYVALUE := v_code;
    end if;
  end;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值