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. d3.js:数据可视化利器之 交互行为:响应DOM事件

    selection.on:事件监听操作符 on()操作符可以添加或移除选择集中每个 DOM元素的事件监听函数: selection.on(type[,listener[,capture]]) 参数ty ...

  2. Appium+python移动端自动化测试-环境搭建(一)

    搭建所在系统环境:Windows7版本64位系统 一.环境准备 jdk8.0.151 android-sdk_r20.3.4-windows python3.5 appium1.4.16.1 Node ...

  3. Python下的正则表达式原理和优化笔记

    摘要: 本文旨在总结一些编写表达式的技巧和原理.鉴于介绍python中re模块的使用方法的文章太多.所以本文在基础方面都是略过,而在回溯原理和一些技巧方面记录一点点学习总结. 目录:[ - ] 基础规 ...

  4. 【我的Android进阶之旅】 RxJava 理解Backpressure并解决异常 rx.exceptions.MissingBackpressureException

    今天测试人员在测试应用APP的时候应用crash了,查看了下crash log如下所示: java.lang.IllegalStateException: Exception thrown on Sc ...

  5. ansible(2)

    一.ansible模块(yum.pip.service.conr.user.group) 上篇中我们已经学了ansible的几个模块,接下来再来学习几个,那么你是否知道ansible一共有多少模块呢? ...

  6. Python高级教程-多重继承

    多重继承 继承是面向对象编程的一个重要的方式,因为通过继承,子类可以扩展父类的功能. Animal类的层次设计,假设要实现以下4中动物: Dog - 狗狗: Bat - 蝙蝠: Parrot - 鹦鹉 ...

  7. pytorch调参经验(一)

    个人博客:https://yifdu.github.io/2018/11/18/pytorch%E8%B0%83%E5%8F%82%E7%BB%8F%E9%AA%8C%EF%BC%88%E4%B8%8 ...

  8. Spark ML Pipeline简介

    Spark ML Pipeline基于DataFrame构建了一套High-level API,我们可以使用MLPipeline构建机器学习应用,它能够将一个机器学习应用的多个处理过程组织起来,通过在 ...

  9. math.h函数库

    C语言中之数学函数 C语言提供了以下的数学函数,要使用这些函数时,在程序文件头必须加入: #include <math.h> 编译时,必须加上参数「-lm」(表示连结至数学函式库),例如「 ...

  10. knockout 学习使用笔记----绑定map--双向绑定

    简单的方式,使用 knockout.mapping.js. 1.引入knockout.mapping.js. 2.声明模型 var model = { task:null, feedbacks:[], ...