oracle批量删除某用户下的表
昨天干了一天的体力活,到快下班时被要求删除一批测试库上错误的表,主要是这些表的字段和生产上字段顺序对不上,然后让我写个脚本,让dba执行一下,主要是删表这种东西我们都没权限.
然后,我就被难到了,我记得以前都是删一个表啊,还没有批量删过表啊,而且以前删表都是先删除约束再删表的,难道这次让我去把每个表的约束和表名找出来写成一个个删除语句?心想这得加班到明天啊,于是乎网上肯定有oracle的批量删除表脚本吧.
然后找啊找,找了十多个,要么是脚本本身有错,要么还是不成功,最后发现是我的ip没有权限,不过能用的脚本还是锁定了一个,因为我在另外有删除权限的用户下建了一批表通过这个脚本能删除,
这个脚本就是
Begin
for a in (select * from user_constraints t where t.OWNER = 'PERI' and upper(t.TABLE_NAME) like 'TEMP_P4%' ) loop
execute immediate 'alter table '|| a.table_name ||' drop constraint '|| a.constraint_name;
end loop; for x in (select * from all_tables t where t.OWNER = 'PERI' and upper(t.TABLE_NAME) like 'TEMP_P4%') loop
execute immediate 'drop table ' || x.table_name;
end loop;
end;
我上面是删除peri用户下TEMP_P4开头的表,第一个循环删除约束,第二个循环删除表
这个脚本有个缺陷,那就是只能用peri用户登录才能正确执行第一个循环.
到了今早,就是别人给我指出来这个问题,然后我看他怎么写脚本,然后我就惊讶了
drop table ....;
drop table ....;
drop table ....;
drop table ....;
drop table ....;
drop table ....;
......
我说你不用删除约束的吗?
他说他们以前都只删表就行,不用删约束.
好吧,这个我还是赚的,至少我知道了在这里怎么批量删除表,也知道了以后去其它地方怎么批量删除表.
oracle批量删除某用户下的表的更多相关文章
- oracle批量删除某个用户下的所有表
打开sql developer,输入如下语句,把USERNAME替换为需要删除的的用户名 然后把查询出来的结果复制出来执行一遍就行了. SELECT 'DROP table '||table_name ...
- Oracle 批量修改某个用户下表的表空间
说明:一般来说要修改表的表空间需要同时修改表的表空间和其对应的索引表空间,并且在修改含有BOLB字段的表的表空间时又不一样,具体请参考末尾的链接 思路:拼凑一个满足条件的批处理查询语句,将查询的结果复 ...
- oracle删除当前用户下所有表
1.如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉. 删除后再创建该用户.--创建管理员用户create u ...
- oracle中删除某个用户下的所有表
一般的方法:先使用sql查询: SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME; 将查询结 ...
- Oracle数据库访问其他用户下的表,不加表所属的用户名的实现方法
一. 问题: 如何实现在Oracle数据库中访问其他用户的表时不需加表所属的用户名 二. 举例: Oracle里面的用户A,要访问用户B的表需要带用户B的前缀,如访问用户B的 TEST表,需要这样访问 ...
- Oracle 只导出某个用户下的表及数据
今天某大牛问我要之前我参与的一个系统的代码及库,我捣鼓下,发给了他. 他很诧异的问:这个库有这么大么 我说 因为当时是专门新建了一个实例,用户也是系统用户,所以导出的时候是导出的整个数据库 他 ZZ ...
- Oracle,Mysql 获取用户下所有表名,获取表所有的列名及数据类型
Mysql 下面是mysql获取数据库所有表的语句 select table_name from information_schema.TABLES where TABLE_SCHEMA='Usern ...
- oracle怎么把一个用户下的表复制给另一个用户?(授予表权限)
//把system读写权限 授权给scottselect 'Grant all on '||table_name||' to scott;' from all_tables where owner = ...
- spool命令、创建一个表,创建而且copy表,查看别的用户下的表,rowid行地址 索引的时候使用,表的增删改查,删除表,oracle的回收站
1.spool命令 spool "D:\test.txt" spool off SQL> host cls 2.创建一个表 SQL> --条件(1):有创建 ...
随机推荐
- 【转】ETL介绍与ETL工具比较
本文转载自:http://blog.csdn.net/u013412535/article/details/43462537 ETL,是英文 Extract-Transform-Load 的缩写,用来 ...
- AtCoder Beginner Contest 044 C - 高橋君とカード / Tak and Cards
题目链接:http://abc044.contest.atcoder.jp/tasks/arc060_a Time limit : 2sec / Memory limit : 256MB Score ...
- QXDM操作应用
QXDM(The QUALCOMM Extensible Diagnostic Monitor)是高通公司(Qualcomm)公司发布的可以对手机终端所发数据进行跟踪有效工具,通过对数据的分析可以诊断 ...
- Django框架----跨表查询及添加记录
一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many); 一本书只应该由一个出版商出 ...
- 怎样从外网访问内网Jupyter Notebook?
本地安装了一个Jupyter Notebook,只能在局域网内访问,怎样从外网也能访问到本地的Jupyter Notebook呢?本文将介绍具体的实现步骤. 准备工作 安装并启动Jupyter Not ...
- Python笔记 #20# SOM
SOM(自组织映射神经网络)是一种可以根据输入对象的特征自动进行分类(聚类)的神经网络.向该网络输入任意维度的向量都会得到一个二维图像, 不同特征的输入会被映射到二维图像的不同地方(所以SOM也可以用 ...
- python的ws库功能,实时获取服务器ws协议返回的数据
# -*- coding:utf-8 -*- ''' 模块下载,帮助地址:https://github.com/liris/websocket-client#readme 模块:websocket-c ...
- Python 内置函数sorted()在高级用法
对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...
- Vim常用命令:移动 跳转 到 文档开头或末尾
gg:命令将光标移动到文档开头 G:命令将光标移动到文档末尾 vi编辑器中在命令行模式下输入G可以直接跳转到页面的底部 在命令行模式下输入1G可以跳转到页面的头部位置 更多在vi中移动编辑位置的命令说 ...
- fjwc2019 D2T1 直径 (构造)
#181. 「2019冬令营提高组」直径 (这题构造题是我考场上唯一一A的题........) 先看这个特殊的Subtask4 Subtask 4(20pts):$\sqrt{1+8k}$ 为整 ...