DECLARE

TYPE cst_table_list IS TABLE OF VARCHAR2(40); TYPE cst_list IS TABLE OF VARCHAR2(40);

TYPE name_list IS TABLE OF VARCHAR2(40); TYPE type_list IS TABLE OF VARCHAR2(20);

cst_tab_name cst_table_list:=cst_table_list(); cst_name cst_list:=cst_list();

Tab_name name_list:=name_list(); Tab_type type_list:=type_list();

sql_str VARCHAR2(500);

v_err_code NUMBER; v_err_msg VARCHAR2(200);

BEGIN     -- drop all reference constraints begin     sql_str := 'select table_name,constraint_name from user_constraints where constraint_type=''R''';     EXECUTE IMMEDIATE sql_str BULK COLLECT INTO cst_tab_name,cst_name;     FOR i IN cst_tab_name.FIRST.. cst_tab_name.LAST LOOP

begin         sql_str := 'ALTER TABLE ' || cst_tab_name(i) || ' DROP CONSTRAINT ' || cst_name(i);         EXECUTE IMMEDIATE sql_str;         dbms_output.put_line(sql_str);

exception         when others then             v_err_code := SQLCODE;             v_err_msg := SUBSTR(SQLERRM, 1, 200);             DBMS_OUTPUT.PUT_LINE ('Error code: '||v_err_code);             DBMS_OUTPUT.PUT_LINE ('Error message: '||v_err_msg);

end;

END LOOP;

-- drop all reference constraints end

-- drop all tables, sequences...  begin     sql_str := 'select uo.object_name,uo.object_type     from user_objects uo     where uo.object_type not in(''INDEX'',''LOB'')     order by uo.object_type desc';     EXECUTE IMMEDIATE sql_str BULK COLLECT INTO tab_name,tab_type;

FOR i IN Tab_name.FIRST.. Tab_name.LAST LOOP         begin             sql_str := 'DROP ' || Tab_type(i) || ' ' || Tab_name(i);             EXECUTE IMMEDIATE sql_str;             dbms_output.put_line(sql_str);

exception             when others then                 v_err_code := SQLCODE;                 v_err_msg := SUBSTR(SQLERRM, 1, 200);                 DBMS_OUTPUT.PUT_LINE ('Error code: '||v_err_code);                 DBMS_OUTPUT.PUT_LINE ('Error message: '||v_err_msg);         end;

END LOOP;     -- drop all tables, sequences...  end END;

oracle sql - remove a user's all objects的更多相关文章

  1. [转]Advanced Oracle SQL Developer Features

    本文转自:http://www.oracle.com/technetwork/cn/server-storage/linux/sqldev-adv-otn-092384.html Advanced O ...

  2. 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g

    ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracl ...

  3. Oracle SQL Developer 连接 MySQL

    1. 在ORACLE官网下载Oracle SQL Developer第三方数据库驱动 下载页面:http://www.oracle.com/technetwork/developer-tools/sq ...

  4. Oracle sql连接

    inner-join                    left-outer-join                 right-outer-join                 full- ...

  5. 解决Oracle SQL Developer无法连接远程服务器的问题

    在使用Oracle SQL Developer连接远程服务器的时候,出现如下的错误 在服务器本地是可以正常连接的.这个让人想起来,跟SQL Server的一些设计有些类似,服务器估计默认只在本地监听, ...

  6. Oracle sql语句执行顺序

    sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...

  7. Oracle SQL explain/execution Plan

    From http://blog.csdn.net/wujiandao/article/details/6621073 1. Four ways to get execution plan(anyti ...

  8. 处理 Oracle SQL in 超过1000 的解决方案

    处理oracle sql 语句in子句中(where id in (1, 2, ..., 1000, 1001)),如果子句中超过1000项就会报错.这主要是oracle考虑性能问题做的限制.如果要解 ...

  9. Oracle sql develpoer

    Oracle SQL Developer是针对Oracle数据库的交互式开发环境(IDE)     Oracle SQL Developer简化了Oracle数据库的开发和管理. SQL Develo ...

随机推荐

  1. 【keras框架】

    更高级别的封装.更简单的api,以tensorflow.theano为后端,支持更多的平台 读取网络模型后生成网络结构图 读取 from keras.models import load_model ...

  2. virtIO前后端notify机制详解

    2016-11-15 本来这是在前端驱动后期分析的,但是这部分内容比较多,且分析了后端notify前端的机制,所以还是单独拿出一节分析比较好! 还是拿网络驱动部分做案例,网络驱动部分有两个队列,(忽略 ...

  3. LightOJ1003---Drunk(拓扑排序判环)

    One of my friends is always drunk. So, sometimes I get a bit confused whether he is drunk or not. So ...

  4. C++学习笔记-类相关问题总结

    1.默认构造函数 默认构造函数要么没有参数,要么所有参数都有默认值.如果没有定义任何构造函数,编译器将自定义默认构造函数. 自动生成的默认的构造函数的作用: (1)使可以创建对象 (2)调用基类的默认 ...

  5. linux mysql备份

    许多备份方案: http://blog.jobbole.com/14012/ 采用的: mysqldump ---user admin ---password=password mydatabase ...

  6. xe7开发的安卓程序,体积宏大--112M!

    原因没找到,但似乎可以这样解决: 解决过程:因为代码很少,所以我重新建立一个空白程序,把代码复制过去,一字不差.重新编译, 关键的时刻到了:不要连上真机,在编译完成时,系统提示是否要启动android ...

  7. WebUploader 上传插件结合bootstrap的模态框使用时选择上传文件按钮无效问题的解决方法

    由于种种原因(工作忙,要锻炼健身,要看书,要学习其他兴趣爱好,谈恋爱等),博客已经好久没有更新,为这个内心一直感觉很愧疚,今天开始决定继续更新博客,每周至少一篇,最多不限篇幅. 今天说一下,下午在工作 ...

  8. JVM内存区域划分Eden Space\Survivor Space\Tenured Gen\Perm Gen

    JVM区域分heap区和非heap区. 1)heap区:Eden Space(伊甸园),Survivor Space(幸存者区),Tenured Gen(老年代-养老区). 2)非heap区:Code ...

  9. TOSCA自动测试工具跟QTP 和 Selenium的简单对比

    1. 一个课程里的,可以做个简单的参考,有些地方不是很准确

  10. $python用装饰器实现一个计时器

    直接上代码: import time from functools import wraps # 定义装饰器 def fn_timer(function): @wraps(function) def ...