1.表名test
2.在test上建一个触发器air_test
3.将test 删除 问题是:test 删除后,air_test也删除了?
air_test删除后放到哪去了呢?通过select trigger_name from user_triggers where table_name='TEST';
TRIGGER_NAME
------------------------------
BIN$ZpyjErbzS1OVSCNCPfoXeg==$0    //这个就是air_test将test 闪回后,air_test触发器还是起作用的,通过什么方法能将触发器从BIN$ZpyjErbzS1OVSCNCPfoXeg==$0变回到air_test呢?

解决方案 »

  1.   

    删除一个表后,表上的触发器就是改了一下名字,其它都没变,连status 都还是有效的;难道就没有办法让触发器的名字还原了吗?
      

  2.   

    你可以做个试验,表被删除后,触发器也会自动被删除掉,你可以试试用原名重新创建该触发器就知道了
    set serveroutput on;create or replace trigger TriggerT
    after update of T_T_AGE  on t_t
    for each row
    when (new.T_T_AGE  ='19')
    begin
    dbms_output.put_line('warning message – new T_T_AGE  at t_t');
    end;
    触发器已创建UPDATE t_t SET T_T_AGE = 17 WHERE T_T_ID = 'c' ;select*from t_t;drop table t_t;
    -----------------------------------------------------------------
    select*from depot;create trigger TriggerT
    after update of DADDRESS   on depot
    for each row
    when (new.DADDRESS ='67Albert Road')
    begin
    dbms_output.put_line('warning message – new TDADDRESS  at depot');
    end;触发器已创建
      

  3.   

    可以用flashbak吧表恢复过来,恢复的时候加上enable trigger!
      

  4.   


    SQL> flashback table test to timestamp to_DATE('2009-04-25 18:37:31','yyyy-mm-dd
     hh24:mi:ss') enable trigger;
    flashback table test to timestamp to_DATE('2009-04-25 18:37:31','yyyy-mm-dd hh24
    :mi:ss') enable trigger
                    *
    第 1 行出现错误:
    ORA-00942: 表或视图不存在
    SQL> flashback table test to before drop enable trigger;
    flashback table test to before drop enable trigger
                                        *
    第 1 行出现错误:
    ORA-00933: SQL 命令未正确结束我写的两个都错了,请问该怎么写呀?
      

  5.   

    ORA-00942: 表或视图不存在多数是因为没有授权把,参考下面:
    http://hi.baidu.com/jiaju111/blog/item/43a05f16b992331e962b43e7.html