我用以下语句将一个表删除了:
drop table sc;怎么再恢复我这个表及其数据呢?

解决方案 »

  1.   

    rollback,是对delete 的操作!--用上次的备份的,还原这个表的数据imp 用户/密码  fromuser='' touser=''  tables=() file='上次备份的数据路径'
      

  2.   

    flashback table sc to before drop;
      

  3.   

    create or replace trigger "BIN$u9dOMKnsS++iIFbJ9Q1ryQ==$1"
    before insert or update or delete on SC
      
       begin
      if(to_char(sysdate,'DY')='WED'
      RAISE_APPLICATION_ERROR(-20600,'不能在周三修改表sc');
        endif
      end triggersc;这个语句有问题吗?触发器的名字怎么改?
      

  4.   


    没有备份,那就只能用:
    flashback table 表 to before drop;
      

  5.   

    create or replace trigger "BIN$u9dOMKnsS++iIFbJ9Q1ryQ==$1" 
    before insert or update or delete on SC 
    on each row
      begin 
      if(to_char(sysdate,'DY')='WED' THEN
      RAISE_APPLICATION_ERROR(-20600,'不能在周三修改表sc'); 
        end if;  end triggersc; 
      

  6.   

    你这个触发器语法格式有问题。因为这个触发器是从回收站恢复的,所以名字变了。不过触发器用什么名字并不影响它的触发。
    实在想改:
    alter trigger "BIN$u9dOMKnsS++iIFbJ9Q1ryQ==$1" rename to xxx;
      

  7.   

    先disable 掉触发器,(alter table 表 disable all triggers;)在给触发器重命名,重编译
      

  8.   

    学习一下~~原来drop后还可以恢复~~
      

  9.   

    rollback 已经不行了
    通用的办法是用以前的备份restore,recovery
    如果你的数据库是运行在rechive模式下的10g以上数据库且打开了flashback的话可以 flashback drop table
      

  10.   

    有保存的话  直接create table_a as select * from table_b 吧