现在的位置: 首页 > 综合 > 正文

oracle 触发器

2013年07月21日 ⁄ 综合 ⁄ 共 2250字 ⁄ 字号 评论关闭

 

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 哈哈 大家好运!

 

抱歉!评论已关闭.