目前有一个XX库,用户A,里面大概有一百张表吧,还有若干存储过程和函数
现在从客户拿拿回来一个用户库的DUMP~
在导入DUMP前,要把A用户下的所有表、过程什么的都清掉。
有什么好办法
就是清空A用户的东西,XX库其他用户的东西不变,
另外,是清空A用户里的东西,不是清掉A用户!用户要保留..SQL:dorp user a cascade?这样写?

解决方案 »

  1.   

    我...就是不想删除A用户...
    现在是在PL SQL developer 选择所有的表,然后右键Dorp,再选过程和函数依次DORP,当然重建用户也不难就是了~
    有米什么好办法
    导入 DUMP时,有没有什么关键字 可以清除库的东西或者一样的表名
      

  2.   

    用户要保留,那就一张一张的删表吧,
    要不你就先把表都导出来,然后删除用户drop   user   username cascade;
    然后再把表导入。
      

  3.   

    又忘了 ,原来你不要表了,那就drop  user  username cascade;
    然后 
    create user username identified by 密码 default tablespace
    users Temporary TABLESPACE Temp; 
    grant connect,resource,dba to username;
    commit;   
      

  4.   

    SQLPLUS登陆到用户A,执行下面的脚本。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');
    spool offspool c:\droptab.sql
    SELECT 'DROP TABLE "' || object_name || '" CASCADE CONSTRAINTS PURGE;'
      FROM user_objects
     WHERE object_type = 'TABLE';
    spool off在C:\找到dropobj.sql和droptab.sql,
    用记事本打开,编辑一下,在sqlplus下执行这两个脚本。
    如果是oracle10g,drop table前还要加上这句alter session set recyclebin=off;
      

  5.   

    厄,回复下,我不想清除用户肯定是有原因的,因为比较复杂,有主观也有客观,就不多说了。
    生生不息--回答的如下:
    SQLPLUS登陆到用户A,执行下面的脚本。 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'); 
    spool off spool c:\droptab.sql 
    SELECT 'DROP TABLE "' || object_name || '" CASCADE CONSTRAINTS PURGE;' 
      FROM user_objects 
    WHERE object_type = 'TABLE'; 
    spool off 在C:\找到dropobj.sql和droptab.sql, 
    用记事本打开,编辑一下,在sqlplus下执行这两个脚本。 
    如果是oracle10g,drop table前还要加上这句 alter session set recyclebin=off;
    -----------------------------------------------------首先先谢谢,但是能说具体点跑的方法么?
    我刚才试了下没成功
    我用PL/SQL 登录A用户。
    是不是在SQL里面只跑这两句啊:
    SET PAGESIZE 0 
    spool c:\dropobj.sql 
    spool off 
    然后在C盘建一个dropobj.sql
    里面写:SELECT 'DROP ' || object_type || ' ' || object_name || ';' 
      FROM user_objects 
    WHERE object_type IN ('PROCEDURE', 'FUNCTION', 'SEQUENCE', 'VIEW', 'PACKAGE', 'SYNONYM');
    反正我这样做没成功。
    另外在SQL里直接贴:
    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'); 
    spool off 
    也跑不成功,怎么玩?