触发器中怎样实现插入数据后再删除这条数据
往A表里面插入数据,先判断这条数据的IS_TEST字段,如果是0就插入B表中,然后在A表中将这条数据删除。如果是1就不插入B表,也就是不做任
何操作。这是写的插入数据的触发器,怎么在里面添加语句实现删除操作。
create or replace trigger TRG_DXP_MATERIEL_APPLY_INSERT
after insert on DXP_MATERIEL_APPLY
for each row
DECLARE
BEGIN
      if  :NEW.IS_TEST=0 then
    INSERT INTO ods_epbi.DXP_MATERIEL_APPLY(
           TAB_YEAR,
           TAB_MONTH,
           TAB_DAY,
           APPLY_ID,
           APPLY_TYPE,
           UNIT_CODE,
           UNIT_NAME,
           IS_TEST,
           DXP_MATERIEL_APPLY_ID,
           DEPT_CODE) VALUES(
           :NEW.TAB_YEAR,
           :NEW.TAB_MONTH,
           :NEW.TAB_DAY,
           :NEW.APPLY_ID,
           :NEW.APPLY_TYPE,
           :NEW.UNIT_CODE,
           :NEW.UNIT_NAME,
           :NEW.IS_TEST,
           :NEW.DXP_MATERIEL_APPLY_ID,
           :NEW.DEPT_CODE);
    end if;
end;
谢谢各位了!!!!!!
------解决方案--------------------
有2个办法:1。修改你的程序,在程序中直接判断IS_TEST是否等于0,如果等于0就直接插入B表;
          2。在表B上也建立一个触发器,一旦表B收到一条IS_TEST=0的数据,就去A表把这条数据删掉;
推荐方法1,方法2不太好