create or replace trigger biufer_ST_PPTN_R_TM  after insert or update or delete  of dyp on ST_PPTN_R
  referencing old as old_value new as new_value
  for each row
--when (to_CHAR(new_value,'HH').tm=7)
begin
  --DBMS_OUTPUT.PUT_LINE('测站编码'||:new_value.stcd);
  -- DBMS_OUTPUT.PUT_LINE('小时雨量'||:new_value.dyp);
  proc_st_pptn_r_tm(:new_value.stcd, :new_value.tm, :new_value.dyp);
end;在oarcle 触发器中怎么判断是insert ,update ,delete  操作?谢谢

解决方案 »

  1.   

    if updating then
       ...
    elsif deleting then
          ...
    elsif inserting then
          ...
    else
        ...
    end if;
      

  2.   

    在oarcle 触发器中怎么判断是insert ,update ,delete 操作?谢谢ORACLE会自动判断你的操作是INSERT ,UPDATE,DELETE
      

  3.   


    create or replace trigger TRI_WCMMETATABLEBOOK_BASEINFO
    after insert or update or delete on WCMMETATABLEBOOK_BASEINFO
    for each row
    begin
    if deleting then
          dbms_output.put_line('删除');
          delete from WCMMETATABLEBOOK_BASEINFO@test164 where WCMMETATABLEBOOK_BASEINFOID=:old.WCMMETATABLEBOOK_BASEINFOID;
    end if;
    if inserting then
          dbms_output.put_line('插入');
          end if;
    if updating then
         dbms_output.put_line('修改');
         end if;
    end TRI_WCMMETATABLEBOOK_BASEINFO;
      

  4.   

    触发器分类嘛。   insert 一个,update一个,delete一个。