oracle 觸發器

 

create or replace trigger item_configuration_std_change2
  after insert or update or delete on item_configuration_std
  for each row

declare

begin

case

when inserting then

insert into dest_info
     values(
            :new.ITEM_SUBJECT,
            :new.SOURCE_TABLE,
            :new.SOURCE_TABLE_COLUMNs,
            :new.DESTINATION_TABLE,
            :new.DEST_TABLE_COLUMNS,
            :new.ITEM_CODE,
            :new.ITEM_CH_NAME,
            SYS_CONTEXT('USERENV', 'HOST'),
            SYS_CONTEXT('USERENV', 'IP_ADDRESS'),
            sysdate,
            '執行了插入操作',
            :new.ITEM_RULE,
            (select distinct std.item_ch_name  from item_configuration_std std where std.item_code = :new.MEASURING_UNIT and rownum <=1)      
     );
    
when updating then

     insert into dest_info
     values(
            :new.ITEM_SUBJECT,
            :new.SOURCE_TABLE,
            :new.SOURCE_TABLE_COLUMNs,
            :new.DESTINATION_TABLE,
            :new.DEST_TABLE_COLUMNS,
            :new.ITEM_CODE,
            :new.ITEM_CH_NAME,
            SYS_CONTEXT('USERENV', 'HOST'),
            SYS_CONTEXT('USERENV', 'IP_ADDRESS'),
            sysdate,
            '執行了修改操作',
            :new.ITEM_RULE,
            (select distinct std.item_ch_name  from item_configuration_std std where std.item_code = :new.MEASURING_UNIT and rownum <=1)
     );
    
when deleting then

     insert into dest_info
     values(
            :old.ITEM_SUBJECT,
            :old.SOURCE_TABLE,
            :old.SOURCE_TABLE_COLUMNs,
            :old.DESTINATION_TABLE,
            :old.DEST_TABLE_COLUMNS,
            :old.ITEM_CODE,
            :old.ITEM_CH_NAME,
            SYS_CONTEXT('USERENV', 'HOST'),
            SYS_CONTEXT('USERENV', 'IP_ADDRESS'),
            sysdate,
            '執行了刪除操作',
            :new.ITEM_RULE,
            (select distinct std.item_ch_name  from item_configuration_std std where std.item_code = :old.MEASURING_UNIT and rownum <=1)        
     );
end case;
end;

 

--------------------------------  解釋---------------------------

create or replace trigger item_configuration_std_change2
  after insert or update or delete on item_configuration_std
  for each row

 創建或代替一個名字叫 item_configuration_std_change2 的觸發器 作用是當對錶 item_configuration_std 執行插入,修改,刪除操作時執行這個觸發器

for each row 每行操作

when inserting then 當執行插入操作時進行下面的語句

:new.ITEM_SUBJECT  item_configuration_std 表中的ITEM_SUBJECT  字段,將新值插入新表中。

剩下的就不難理解了吧,謝謝大家閱讀,本文原創,轉載請寫明出自 o(∩_∩)o 哈哈 大家好運!


 

發佈了45 篇原創文章 · 獲贊 10 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章