TOM大师脚本01-查找未建索引的外键
2016-02-23 17:34
393 查看
[oracle@Oracle11g 2016]$ cat 022201.sql
column columns format a30 word_wrapped
column tablename format a15 word_wrapped
column constraint_name format a15 word_wrapped
select table_name,constraint_name,
nvl2(cname3,','||cname3,null)||nvl2(cname4,','||cname4,null)||
nvl2(cname5,','||cname5,null)||nvl2(cname6,','||cname6,null)||
nvl2(cname7,','||cname7,null)||nvl2(cname8,','||cname8,null)
columns
from (select b.table_name,b.constraint_name,
max(decode(position,1,column_name,null)) cname1,
max(decode(position,2,column_name,null)) cname2,
max(decode(position,3,column_name,null)) cname3,
max(decode(position,4,column_name,null)) cname4,
max(decode(position,5,column_name,null)) cname5,
max(decode(position,6,column_name,null)) cname6,
max(decode(position,7,column_name,null)) cname7,
max(decode(position,8,column_name,null)) cname8,
count(*) col_cnt
from (select substr(table_name,1,30) table_name,
substr(constraint_name,1,30) constraint_name,
substr(column_name,1,30) column_name,
position
from user_cons_columns) a,
user_constraints b
where a.constraint_name=b.constraint_name
and b.constraint_type='R'
group by b.table_name,b.constraint_name ) cons
where col_cnt> ALL (
select count(*) from user_ind_columns i where i.table_name=cons.table_name and i.column_name in (cname1,cname2,cname3,cname4,
cname5,cname6,cname7,cname8)
and i.column_position<= cons.col_cnt
group by i.index_name );
column columns format a30 word_wrapped
column tablename format a15 word_wrapped
column constraint_name format a15 word_wrapped
select table_name,constraint_name,
nvl2(cname3,','||cname3,null)||nvl2(cname4,','||cname4,null)||
nvl2(cname5,','||cname5,null)||nvl2(cname6,','||cname6,null)||
nvl2(cname7,','||cname7,null)||nvl2(cname8,','||cname8,null)
columns
from (select b.table_name,b.constraint_name,
max(decode(position,1,column_name,null)) cname1,
max(decode(position,2,column_name,null)) cname2,
max(decode(position,3,column_name,null)) cname3,
max(decode(position,4,column_name,null)) cname4,
max(decode(position,5,column_name,null)) cname5,
max(decode(position,6,column_name,null)) cname6,
max(decode(position,7,column_name,null)) cname7,
max(decode(position,8,column_name,null)) cname8,
count(*) col_cnt
from (select substr(table_name,1,30) table_name,
substr(constraint_name,1,30) constraint_name,
substr(column_name,1,30) column_name,
position
from user_cons_columns) a,
user_constraints b
where a.constraint_name=b.constraint_name
and b.constraint_type='R'
group by b.table_name,b.constraint_name ) cons
where col_cnt> ALL (
select count(*) from user_ind_columns i where i.table_name=cons.table_name and i.column_name in (cname1,cname2,cname3,cname4,
cname5,cname6,cname7,cname8)
and i.column_position<= cons.col_cnt
group by i.index_name );
相关文章推荐
- 关于安卓开发webview与js交互的问题
- 从国家统计局爬取山东省市区县乡镇
- java 读取文件的最后若干行
- 安装工具VMware vSphere PowerCLI连接exsi控制虚拟机开关机
- JavaScript prototype 属性
- behemoth - 06
- 关于IE11兼容性 iframe 100%问题
- Android 大牛开发者博客列表
- 【CSS3】:read-write选择器
- java中HashSet浅析
- Android.mk详解
- windows 绕过密码进入系统
- 一个数组初始化的问题
- android高速上手(二)android开发环境搭建及hello world
- Java Reflection(六):Getters and Setters
- js函数自执行
- 1032. 挖掘机技术哪家强(20)
- 关于WaitForMultipleObjects函数监测事件状态的问题
- 台湾大学林轩田老师机器学习技法:内容简介
- 互联网+传统企业互联网+转型实战完全攻略(读书笔记)