文档章节

一个PL/SQL块,删除某个用户的所有表

CarlDing
 CarlDing
发布于 2016/04/17 22:34
字数 291
阅读 31
收藏 3

开发一个PL/SQL块,删除某个用户的所有表 就遍历 user_tables表,查询这个用户的所有表,组成SQL语句(drop语句),执行 Drop就可以了。

declare cursor cur is select table_name from user_tables; cursor cur2 is select constraint_name,table_name from user_constraints where constraint_type='R'; tname varchar(30); cname varchar(30); vsql varchar(100); begin open cur2; loop fetch cur2 into cname,tname; exit when cur2%notfound; vsql:='alter table '||tname||' drop constraint '||cname; dbms_output.put_line(vsql); EXECUTE IMMEDIATE vsql; end loop; close cur2; open cur; loop fetch cur into tname; exit when cur%notfound; vsql:='drop table '||tname; dbms_output.put_line(vsql); --执行上面的vsql,将这个vsql语句让Oracle数据来执行 EXECUTE IMMEDIATE vsql; end loop; close cur; end;

select constraint_name,table_name from user_constraints where constraint_type='R';

实现删除里面的所有 view,triiger,procedure

create or replace procedure p1 as cursor cur is select table_name from user_tables; cursor cur2 is select constraint_name,table_name from user_constraints where constraint_type='R'; tname varchar(30); cname varchar(30); vsql varchar(100); begin open cur2; loop fetch cur2 into cname,tname; exit when cur2%notfound; vsql:='alter table '||tname||' drop constraint '||cname; dbms_output.put_line(vsql); EXECUTE IMMEDIATE vsql; end loop; close cur2; open cur; loop fetch cur into tname; exit when cur%notfound; vsql:='drop table '||tname; dbms_output.put_line(vsql); --执行上面的vsql,将这个vsql语句让Oracle数据来执行 EXECUTE IMMEDIATE vsql; end loop; close cur; end;

exec p1;

© 著作权归作者所有

上一篇: HTTP Status 500
下一篇: jQuery
CarlDing
粉丝 5
博文 106
码字总数 78103
作品 0
济南
其他
私信 提问
_过程_函数_触发器_游标

1:存储过程就是一个PL/SQL块的名称。通过这个名称来调用过程。 存储过程,保存在服务器上,以后通过名称来调用,然后由服务来执行的代码块。1:不接收参数的过程(略)Create or replace p...

CarlDing
2016/03/19
13
0
PL/SQL Step By Step(三)

1.什么是存储过程 这篇博客主要介绍存储过程(Stored Procedure),简称过程。存储过程是Oracle PL/SQL中的一种程序单元。存储过程可以通过给一个PL/SQL语句块命名从而将这个语句块存储在数据库...

wawlian
2012/03/10
0
0
Oracle之PL/SQL学习笔记之PL/SQL块(二)

Oracle之PL/SQL学习笔记之PL/SQL块(二) 1. PL/SQL块 PL/SQL 程序由三部分组成,即声明部分,执行部分,例外部分(异常部分) PL/SQL 块的结构如下: declare /声明部分:在此声明PL/SQL用到的变...

残风vs逝梦
2014/09/03
0
0
Oracle专题13之异常错误处理

1、异常处理的概念与分类 a、什么是异常? 异常:是程序在正常执行过程中发生的未预料的事件。 b、什么是异常处理? 异常处理是为了提高程序的健壮性,使用异常处理部分可以有效地解决程序正...

极客微信条
2017/12/18
0
0
[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

2.1 PL/SQL块 PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。 PL/SQL块的结构如下: DECLARE --声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 ...

日久不生情
2017/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MySql双主架构原理

在企业中,一般系统架构的瓶颈会出现在数据库这一部分,mysql主从架构在很大程度上解决了这部分瓶颈,但是在mysql主从同步的架构也存在很多问题;比如:1.关于数据写入部分(也就是主库)往往很难做...

xiaomin0322
30分钟前
0
0
分布式系统中一致性哈希

问题场景 近年来B2C、O2O等商业概念的提出和移动端的发展,使得分布式系统流行了起来。分布式系统相对于单系统,解决了流量大、系统高可用和高容错等问题。功能强大也意味着实现起来需要更多...

Java领航员
31分钟前
0
0
接口限流算法:漏桶算法和令牌桶算法

漏桶算法 漏桶可以看作是一个带有常量服务时间的单服务器队列,如果漏桶(包缓存)溢出,那么数据包会被丢弃。这一点和线程池原理是很相似的。 把请求比作是水,水来了都先放进桶里,并以限定...

铁骨铮铮
38分钟前
5
0
Android 生成二维码工具类

/** * 生成条形码和二维码的工具 */public class ZXingUtils { /** * 生成二维码 要转换的地址或字符串,可以是中文 * * @param url * @param width ...

lanyu96
44分钟前
1
0
谈谈lucene的DocValues特性之SortedNumericDocValuesField

前面已经介绍过NumericDocValuesField,这里想强调一下SortedNumericDocValuesField是针对同一篇文档中一键多值的情况进行排序的,换句话说不同文档的同一字段值可以乱序。核心的写入流程与谈...

FAT_mt
52分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部