度量快速开发平台-专业、快速的软件定制快开平台

标题: Oracle 如何删除掉一个用户下的所有对象 [打印本页]

作者: 张兴康    时间: 2020-3-30 18:11

作者: 张兴康    时间: 2020-3-30 18:40
标题: Oracle 如何删除掉一个用户下的所有对象
  1. create or replace procedure drop_all as

  2.   cursor cur_obj is

  3.     select uo.OBJECT_NAME, uo.OBJECT_TYPE

  4.       from user_objects uo

  5.      where uo.OBJECT_NAME not in ('DROP_ALL')

  6.        and uo.OBJECT_TYPE not in ('LOB');



  7. /*  cursor cur_tablespace is

  8.     select ut.TABLESPACE_NAME

  9.       from user_tablespaces ut

  10.      where ut.TABLESPACE_NAME not in

  11.            ('SYSTEM', 'SYSAUX', 'UNDOTBS1', 'TEMP', 'USERS');*/



  12.   v_obj_name         user_objects.OBJECT_NAME%type;

  13.   v_obj_type         user_objects.OBJECT_TYPE%type;

  14. /*  v_tablespaces_name user_tablespaces.TABLESPACE_NAME%type;*/

  15.   sql_str1           varchar2(2000);

  16. /*  sql_str2           varchar2(2000);*/

  17. begin

  18.   open cur_obj;

  19.   loop

  20.     fetch cur_obj

  21.       into v_obj_name, v_obj_type;

  22.     exit when cur_obj%notfound;

  23.     sql_str1 := 'drop ' || v_obj_type || ' ' || v_obj_name;

  24.     execute immediate sql_str1;

  25.   end loop;

  26.   close cur_obj;

  27. /*  open cur_tablespace;

  28.   loop

  29.     fetch cur_tablespace

  30.       into v_tablespaces_name;

  31.     exit when cur_tablespace%notfound;

  32.     sql_str2 := 'drop tablespace ' || v_tablespaces_name ||

  33.                 ' including contents';

  34.     execute immediate sql_str2;

  35.   end loop;

  36.   close cur_tablespace;*/

  37. end drop_all;


  38.   这个存储过程可以一把删掉用户下几乎所有的对象。注释里的东西释放出来就能删除表空间了。这个过程不能回滚,绝对不要在生产环境或者有用的环境上使用。我不对这个过程执行的结果负任何责任。

  39.       这个脚本适合在那种删除用户不是很方便的时候使用。

  40.       更简单的办法就是删掉用户再重建用户。
复制代码


作者: caixuqad    时间: 2020-4-6 17:31

作者: 张兴康    时间: 2020-4-6 18:04

作者: caixuqad    时间: 2020-4-7 18:04

作者: caixuqad    时间: 2020-4-7 18:04

作者: caixuqad    时间: 2020-4-8 17:56

作者: caixuqad    时间: 2020-4-9 17:59

作者: caixuqad    时间: 2020-4-10 15:11





欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2