- 论坛徽章:
- 0
|
在网上看到这么个方法,但是我不解的是
system用户下user_objects表的created,有N个,用什么SQL语句可以过滤出并找到自己今天导入的表呢?
楼主要首先找到要删除的表,视图等对象,然后再分别删除.找到要删除的对象的方法是,看system用户下user_objects表的created, 应该都是在同一时间或者是接近的时间内,如都是在2009年6月10日上午10点后导入的,利用这个字段能找到要删除的对象,然后再进行删除.
可利用下面的脚本,删除表
alter session set recyclebin=off;
SET PAGESIZE 0
spool c:\dropobj.sql
SELECT 'DROP ' || object_type || ' ' || object_name || ';'
FROM user_objects
WHERE object_type IN ('PROCEDURE', 'FUNCTION', 'SEQUENCE', 'VIEW', 'PACKAGE', 'SYNONYM')
AND CREATED BETWEEN TO_DATE('2009-6-10 10:00:00','YYYY-MM-DD HH24:MI:SS') AND
TO_DATE('2009-6-10 11:00:00','YYYY-MM-DD HH24:MI:SS') ;
spool off
spool c:\droptab.sql
SELECT 'DROP TABLE "' || object_name || '" CASCADE CONSTRAINTS PURGE;'
FROM user_objects
WHERE object_type = 'TABLE'
AND CREATED BETWEEN TO_DATE('2009-6-10 10:00:00','YYYY-MM-DD HH24:MI:SS') AND
TO_DATE('2009-6-10 11:00:00','YYYY-MM-DD HH24:MI:SS') ;
;
spool off |
|