oracle检查外键依赖,Oracle中检查外键是否有索引的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,

CNAME1 || NVL2(CNAME2, ‘,‘ || CNAME2, NULL) ||

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)

/

在上面的基础上修改了一下,可以检查所有的用户。

SET linesize 400;

COLUMN OWNER format a10 word_wrapped

COLUMN COLUMNS format a30 word_wrapped

COLUMN TABLE_NAME format a15 word_wrapped

COLUMN CONSTRAINT_NAME format a40 word_wrapped

SELECT OWNER,

TABLE_NAME,

CONSTRAINT_NAME,

CNAME1 || NVL2(CNAME2, ‘,‘ || CNAME2, NULL) ||

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.OWNER,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 DBA_CONS_COLUMNS WHERE OWNER NOT IN (‘SYS‘,‘SYSTEM‘,‘SYSMAN‘,‘HR‘,‘OE‘,‘EXFSYS‘,‘DBSNMP‘,‘MDSYS‘,‘OLAPSYS‘,‘SCOTT‘,‘EXFSYS‘,‘SH‘,‘PM‘,‘CTXSYS‘)) A,

DBA_CONSTRAINTS B

WHERE A.CONSTRAINT_NAME = B.CONSTRAINT_NAME

AND B.CONSTRAINT_TYPE = ‘R‘

GROUP BY B.OWNER,B.TABLE_NAME, B.CONSTRAINT_NAME) CONS

WHERE COL_CNT > ALL

(SELECT COUNT(*)

FROM DBA_IND_COLUMNS I

WHERE I.TABLE_NAME = CONS.TABLE_NAME AND I.TABLE_OWNER=CONS.OWNER

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)

/

原文:http://www.jb51.net/article/56877.htm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018最有用的六个机器学习项目

2018年又是人工智能和机器学习快速发展的一年。许多新的机器学习的项目正在以非常高的影响力影响着诸多领域&#xff0c;特别是医疗保健、金融、语音识别、增强现实和更复杂3D视频渲染。 这一年&#xff0c;我们看到了更多的应用驱动研究&#xff0c;而不是理论研究。虽然这可…

雅士利牵手阿里云实现新零售改造,双11全渠道成交金额同比增长超过200%

12月3日在阿里云峰会广州站上&#xff0c;雅士利分享了与阿里云的合作&#xff0c;借助数据中台实现新零售改造。在刚刚结束的天猫双11中&#xff0c;雅士利旗舰店整体线上交易同比增长超3倍&#xff0c;旗下羊奶粉品牌“朵拉小羊”50秒成交额超越618全天成交总额&#xff0c;朵…

安装Vuecli新版本正常,但是显示版本是低版本

安装最新版Vuecli: npm install -g vue/cli查看版本 vue --version如果出现bash: vue: command not found 请参考&#xff1a;https://blog.csdn.net/weixin_40816738/article/details/106151054 如果版本显示是低版本的 找到本地仓库&#xff0c;进入到这个目录下面执行命令…

到底什么成就了今天的人工智能?(上)

维基百科对智能有如下定义&#xff1a; 智能是一种能够感知或推断信息&#xff0c;并将其作为知识留存下来&#xff0c;自适应地用于某种环境或上下文的能力。 人工智能&#xff08;Artificial Intelligence&#xff09; 虽然我们很难对人工智能做一个确切的解释&#xff0c;但…

平板电脑可以开发php吗,PHP代码判断设备是手机还是平板电脑(两种方法)

现在移动互联网越来越发达&#xff0c;很多的网站都普及了手机端浏览&#xff0c;为了更好的让网页在手机端显示&#xff0c;我们都选择了使用CSS媒体查询制作响应式模版&#xff0c;但这也有弊端&#xff0c;例如某些网站的结构是CMS类型的&#xff0c;太多的内容要显示&#…

华为美国研发中心将迁至加拿大;高通CEO否认中国5G超美国:技术上还没有,顶多算并驾齐驱;亚马逊宣布进军量子界……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 每周三次&#xff0c;打卡即…

阿里巴巴,果然开始拥有“预测未来”的能力了

顶灯闪烁&#xff0c;笛声响彻。 救护车载着病人&#xff0c;冲向茫茫车海&#xff0c;在时间的赛道上狂奔。 高德地图、GPS 卫星导航、路面磁感线圈、1300 个路口摄像头同时开动&#xff0c;为这辆救护车勘探最快路线&#xff1b; GPS 传回实时数据&#xff0c;后台根据辅助数…

sonarqube 启动不了,异常提示:远程主机强迫关闭了一个现有的连接

启动sonarqube 6.7.1 报下面的错误&#xff1a; 2018.01.24 10:10:56 WARN app[][o.e.t.n.Netty4Transport] exception caught on transport layer [[id: 0x146de8cb, L:/127.0.0.1:57099 – R:/127.0.0.1:9001]], closing connectionjava.io.IOException: 远程主机强迫关闭了…

性能诊断利器 JProfiler 快速入门和最佳实践

背景 性能诊断是软件工程师在日常工作中需要经常面对和解决的问题&#xff0c;在用户体验至上的今天&#xff0c;解决好应用的性能问题能带来非常大的收益。Java 作为最流行的编程语言之一&#xff0c;其应用性能诊断一直受到业界广泛关注。可能造成 Java 应用出现性能问题的因…

oracle 出参类型定义,Oracle plsql出参clob类型的操作

Steps:1. DBMS_LOB.createtemporary (store_in_list, TRUE); --获取lob locator2. DBMS_LOB.OPEN(store_in_list, DBMS_LOB.LOB_READWRITE);--打开3. dbms_lob.writeappend(store_in_list, LENGTH(v_result), v_result);--writeappend 在后面追加4. DBMS_LOB.CLOSE(store_in_li…

Sonarqube+maven 分析代码

文章目录一、方式11. 配置2. 编译项目执行命令2.1.编译项目2.2.代码分析3. 分析结果4. 解决bug5. 项目名称二、方式2三、方式3Sonar是一个用于代码质量管理的开源平台&#xff0c;用于管理Java源代码的质量。通过插件机制&#xff0c;Sonar 可以集成不同的测试工具&#xff0c;…

刚刚!我被产品小姐姐的笔记本深深吸引了....

今天我看到产品小姐姐的一个东西&#xff0c;我惊呆了&#xff0c;因为我好像看到了黑科技&#xff0c;事情是这个样子的....由于加班写代码&#xff0c;在比较疲劳的时候&#xff0c;就站起来随意的在办公室里走走&#xff0c;放松一下自己的脑神经。走到一个产品小姐姐身边&a…

云栖专辑 | 阿里开发者们的第12个感悟:多维思考,胜过盲目苦干

2015年12月20日&#xff0c;云栖社区上线。2018年12月20日&#xff0c;云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来&#xff0c;寒冬中&#xff0c;最值得投资的是学习&#xff0c;是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

php中队列控制的方法,学习猿地-php 队列的实现方法

php实现队列的方法&#xff1a;首先新建一个文件“artisan.php”&#xff1b;然后通过“php artisan”执行队列&#xff1b;最后进入redis客户端输入命令“lpush listname a b c d e f g”即可。PHP实现队列的原理(laravel)用过laravel框架的童鞋都知道其自带队列功能&#xff…

阿里开发者们的第13个感悟:工程师需要在循环迭代中成长

2015年12月20日&#xff0c;云栖社区上线。2018年12月20日&#xff0c;云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来&#xff0c;寒冬中&#xff0c;最值得投资的是学习&#xff0c;是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

倒计时 1 天 | 2019 中国大数据技术大会(BDTC)报名通道即将关闭(附参会提醒)...

2019年12月5-7日&#xff0c;由中国计算机学会主办&#xff0c;CCF 大数据专家委员会承办&#xff0c;CSDN、中科天玑数据科技股份有限公司协办的中国大数据技术大会&#xff08;BDTC 2019&#xff09;将于北京长城饭店隆重举行。届时&#xff0c;超过百位顶尖技术专家将齐聚于…

Sonarqube 中文插件专栏

文章目录一、基础知识1. 插件说明2. 插件版本总览二、案例演示2.1. 插件下载2.2. 插件安装2.3. 重启 Sonarqube一、基础知识 1. 插件说明 关于下载中文插件说明&#xff0c;默认显示有2个版本&#xff0c;第一个版本是官方的最新版本&#xff0c;第2个版本不知是谁添加到仓库…

到底什么成就了今天的人工智能?(下)

人工智能 大多数个人电脑、智能手机和其他设备的硬件性能非常相似&#xff0c;由操作系统定义&#xff0c;通过下载其他软件“学习”。早期计算机的学习完全依赖于与人类的交互&#xff0c;而现在则通过互联网接收更新。 随着越来越多的数据存储到云端&#xff0c;服务器代理的…

基于SpringBoot+Vue开发的前后端分离博客项目-Java后端接口开发

文章目录1. 前言2. 新建Springboot项目3. 整合mybatis plus第一步&#xff1a;导依赖第二步&#xff1a;写配置文件第三步&#xff1a;mapper扫描分页插件第四步&#xff1a;代码生成配置第五步&#xff1a;执行代码生成4. 统一结果封装5. 逻辑整理5.1. 登录逻辑5.2. 用户访问后…

用Python玩转时序数据

时间序列是日常生活中最常见的数据类型之一。股票价格、销售信息、气候数据、能源使用&#xff0c;甚至个人身高体重都是可以用来定期收集的数据样本。几乎每个数据科学家在工作中都会遇到时间序列&#xff0c;能够有效地处理这些数据是数据科学领域之中的一项非常重要的技能。…