版权声明:来自CSDN博客作者白昼的原创作品,如需转载,请注明出处,否则将追究法律责任。 https://blog.csdn.net/ronsarah/article/details/81697721
从Oracle 10g版本开始,DROP命令的实现有所变化,如果没有特别要求,那么该命令不再进行任何删除操作,而是仅仅重命名对象,从而不会再次看到这些对象。那么当一个表执行drop命令后,怎么来恢复呢?
步骤演示:
SQL> select * from t_stu;
STUID STUNAME ST WDATE
---------- -------------------- -- ------------
1 张三 男 09-AUG-18
3 王五 女 14-AUG-18
SQL> drop table t_stu;
Table dropped.
SQL> select count(*) from t_stu;
select count(*) from t_stu
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> flashback table t_stu to before drop;
Flashback complete.
SQL> select count(*) from t_stu;
COUNT(*)
----------
2
SQL> select * from t_stu;
STUID STUNAME ST WDATE
---------- -------------------- -- ------------
1 张三 男 09-AUG-18
3 王五 女 14-AUG-18