Oracle中快速查询和操作某个用户下的所有表数据信息
一、禁止所有的外键约束
在pl/sql developer下执行如下语句:
SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';
把查询出来的结果拷出来在pl/sql developer时执行。
先看看user_constraints是什么
user_constraints是表约束的视图,描述的是约束类型(constraint_type)是什么,属于哪些表(table_name),如果约束的类型为R(外键)的话,那么r_constraint_name字段存放的就是被引用主表中的主键约束名。
先看看user_cons_columns是什么
user_cons_columns是表约束字段的视图,说明表中的和约束相关的列参与了哪些约束。这些约束有主键约束,外键约束,索引约束.
两者可以通过(owner,constraint_name,table_name)关联
select
a.owner 外键拥有者,
a.table_name 外键表,
substr(c.column_name,1,127) 外键列,
b.owner 主键拥有者,
b.table_name 主键表,
substr(d.column_name,1,127) 主键列
from
user_constraints a,
user_constraints b,
user_cons_columns c,
user_cons_columns d
where
a.r_constraint_name=b.constraint_name
and a.constraint_type='R'
and b.constraint_type='P'
and a.r_owner=b.owner
and a.constraint_name=c.constraint_name
and b.constraint_name=d.constraint_name
and a.owner=c.owner
and a.table_name=c.table_name
and b.owner=d.owner
and b.table_name=d.table_name
用delete或truncate删除用户所有表的内容
SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;
或
SELECT 'TRUNCATE TABLE '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;
用第一步类似的方法操作。要注意的一点是,若表的数据有触发器相关联,只能用truncate语句,不过truncate语句不能回滚,所以时要注意
三、把已经禁止的外键打开
SELECT 'ALTER TABLE ' || table_name || ' enable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';
查出来的表结果是执行语句:如下
1 TRUNCATE TABLE A;
2 TRUNCATE TABLE ACCEPT_SN;
3 TRUNCATE TABLE B;
最新文章
- wcf用svcutil导出泛型的元数据
- lstm
- js获取select改变事件
- 2014多校第五场1010 || HDU 4920 Matrix multiplication(矩阵乘法优化)
- php 文件缓存
- UVA 11111-Generalized Matrioshkas(栈)
- 利用Eclipse中的Maven构建Web项目(三)
- Codechef:Path Triples On Tree
- 关闭PHPStorm 2017.1 中的新功能中的参数提示( Parameter hints )
- app操作的一些命令
- Java实现数据库的读写分离
- u-boot移植(十三)---代码修改---裁剪及环境变量 二
- C# 关键字Event
- java中使用MD5进行加密 BASE64Encoder 编码
- MyEclips 2017/2018 (mac 版)安装与破解
- 【BZOJ1226】学校食堂(动态规划,状态压缩)
- 深入理解jQuery插件开发总结(三)
- CentOS7 使用chrony搭建集群中的时间同步服务
- 记录使用Buildbot遇到的坑
- 51Nod - 1179
热门文章
- Get请求编码
- c/c++面试题(4)字符串翻转/打印任意进制格式/类型转换
- java中Collection类及其子类
- Newtonsoft.Json(C#处理json)
- Asp.net useful tools
- 【LeetCode OJ】Convert Sorted List to Binary Search Tree
- bigworld源码分析(4)——BaseAppMgr分析
- [翻译]lpeg入门教程
- find 命令的参数详解
- 正确使用List.toArray()(转)