查看外键父子关系

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

select uc.constraint_name, uc.owner child_owner, uc.table_name child_table, ucc.column_name child_column
,ucp.owner parent_owner, ucp.table_name parent_table, ucp.column_name parent_column
from dba_constraints uc, dba_cons_columns ucc, dba_cons_columns ucp
where uc.owner = 'TRSDATA'
and uc.table_name = 'TABLEB'
and ucc.constraint_name = uc.constraint_name
and ucp.constraint_name = uc.r_constraint_name

 

注意,以上脚本运行很慢,可能需要拆散重写。

 

 

select 'alter table '||uc.owner||'.'||uc.table_name||' disable constraint '|| uc.constraint_name||';'
from dba_cons_columns ucp,  dba_constraints uc,dba_cons_columns ucc
where ucp.constraint_name = uc.r_constraint_name
and ucc.constraint_name = uc.constraint_name
and UCP.TABLE_NAME in ('CSPAFUNS',
'FBPACRPM',
'FBPACUSM',
'FBPADTCM',
'FBPAIMPM')

 

缩小范围可以快一点,可以拼disable constraint语句。

 

 

 

create or replace view user_cons_detail

(constraint_name, child_table, child_column, parent_table, parent_column)

as

 

select oc.NAME, o.NAME , cl.NAME ,oo.NAME, cl2.NAME

-- oc.CON#,oc.NAME ,o.OBJ# ,o.NAME ,'@@' sss, cc.COL# , cl.NAME, '@@' ss, oo.OBJ#,oo.NAME, cl2.NAME

from sys.con$ oc ,sys.cdef$ c, sys.obj$ o, sys.user$ u, sys.con$ rc , sys.obj$ oo, sys.ccol$ cc , sys.col$ cl, sys.ccol$ cc2 , sys.col$ cl2

where oc.CON# = c.CON#

and o.OBJ# = c.OBJ#

and u.USER# = o.OWNER#

and u.NAME = 'CMBMODEL'

and oo.OBJ# = c.ROBJ#

and rc.CON# = c.RCON#

and cc.CON# = c.CON#

and cl.COL# = cc.COL#

and cl.OBJ# = c.OBJ#

--

and cc2.CON# = rc.CON#

and cl2.COL# = cc2.COL#

and cl2.OBJ# = oo.OBJ#

 

 

 

 

 

create or replace view user_cons_detail

(constraint_name, child_table, child_column, parent_table, parent_column)

as

 

select oc.NAME constraint_name, o.NAME child_table , cl.NAME child_column,oo.NAME parent_table, cl2.NAME parent_column

-- oc.CON#,oc.NAME ,o.OBJ# ,o.NAME ,'@@' sss, cc.COL# , cl.NAME, '@@' ss, oo.OBJ#,oo.NAME, cl2.NAME

from sys.con$ oc ,sys.cdef$ c, sys.obj$ o, sys.user$ u, sys.con$ rc , sys.obj$ oo, sys.ccol$ cc , sys.col$ cl, sys.ccol$ cc2 , sys.col$ cl2

where oc.CON# = c.CON#

and o.OBJ# = c.OBJ#

and u.USER# = o.OWNER#

--and u.NAME = 'CMBMODEL'

and oo.NAME = 'PM_CMP_MODEL'

and cl2.NAME = 'DB_TABLE'

and oo.OBJ# = c.ROBJ#

and rc.CON# = c.RCON#

and cc.CON# = c.CON#

and cl.COL# = cc.COL#

and cl.OBJ# = c.OBJ#

--

and cc2.CON# = rc.CON#

and cl2.COL# = cc2.COL#

and cl2.OBJ# = oo.OBJ#

数据库设置的作用 数据库(Foreign Key)是关系型数据库中用于建立表与表之间关联关系的重要约束,其核心作用是确保数据的一致性、完整性和关联性。约束强制从表的数据必须匹配主表的现有数据,避免出现“孤立数据”(即从表数据引用主表中不存在的记录)。合理使用可增强数据库的可靠性,但需结合具体场景权衡性能与约束强度。通过引用另一张表的主(或唯一),明确表与表之间的。(主表与从表),使离散的数据形成逻辑关联。 阅读详情

相关推荐

MySQL - 表字段的约束

设置表字段的约束(FOREIGN KEY,简称FK) 是表的一个特殊字段,约束是为了保证多个表(通常为两个表)之间的参照完整性,即构建两个表的字段之间的参照关系。 设置约束的两个表之间具有父子关系,即子表中某个字段的取值范围由父表决定。例如,表示一个班级和学生关系,即每个班级有多个学生。首先应该有两个表:班级表和学生表,然后学生表有一个表示班级编号的字段no,其依赖于班级表的主,这样字段no就是学生表的,通过该字段班级表和学生表建立了关系。 一个班级表: 每一行对应着一个班级,而一

骆驼胡杨的博客 1006

父子关系

<br />select uc.constraint_name, uc.owner child_owner, uc.table_name child_table, ucc.column_name child_column<br />,ucp.owner parent_owner, ucp.table_name parent_table, ucp.column_name parent_column<br />from dba_constraints uc, dba_cons_columns ucc, dba_

MythColor的专栏 831

【MySQL】MySQL中的主约束和约束,父子表的创建与删除

一篇文章带你彻底搞懂搞懂MySQL中的主约束 本文主要使用Navicat for MySQL 通过编程和代码测试 来分析SQL语言的常用约束条件:主约束 和 约束。

m0_56164356的博客 6831

数据库父子表(主、

表A的主是表B的一个字段,这个字段称为B的,A是父表,B是子表。(有的是子表) 教程地址http://www.icourse163.org/learn/WXIT-1001754089?tid=1206025207#/learn/content?type=detail&id=1210419199&cid=1212461687&replay=true ...

weixin_30361753的博客 1812

数据库中父表和子表(主的理解)

好久没有碰数据库分析设计了。今天突然要做一个数据库分析,很是费解,所谓好记性不如烂笔头,个人觉得还是要记一下的。用一个例子来说: 你想要设计的一个产品表可能是这样的:产品表:产品ID, 产品名称, 产品类型 产品ID 产品名称 产品类型 1 敌敌畏 农药 2 加多宝 饮料 3 可乐

trebleZ的博客 3万+

约束

如果公共关字在一个关系中是主关字,那么这个公共关字被称为另一个关系的

Mr-KKO 4425

mysql(FOREIGN KEY)简单讲解与演示

前言 上数据库遇到了个叫的东西,一开始不是很懂,后来懂了,故记录一下。。。 是什么 ,即部的 ,用来保证数据一致性,那么什么是数据的一致性呢? 假设某带学有如下两张表,描述,学生和专业的关系。 学生表 student: 姓名name 学号studentno 专业号majorno 李田所 1145141919 810 姜闸鸣 1145147789 364 特朗普 1145142020 901 专业表 major : 名称majorname 人数number

AKGWSB 's blog 1682

无涯教程-MySQL -

该语句使可以对现有表进行修改。有时需要在现有表的列中添加;然后,此语句用于为该列添加。以下是ALTER TABLE语句在现有表中添加的语法:当无涯教程使用ALTER TABLE语句添加时,建议首先在由引用的列上创建一个索引。以下语句创建两个表"Person"和"Contact",而表定义中没有列。

无涯教程 1883

数据库MySQL学习——day3(主约束)

级联更新(ON UPDATE CASCADE):如果更新父表中的主字段,自动更新子表中所有相关的字段。级联删除(ON DELETE CASCADE):如果删除父表中的一行记录,自动删除子表中所有相关的记录。如果需要修改,可以先删除旧的约束,然后重新添加新的约束。通常用于表示表之间的父子关系,保证子表中的数据必须在父表中有对应的记录。使用 FOREIGN KEY 约束时,我们需要指定字段和父表的主字段。可以为单个字段设置主,也可以使用多个字段(组合主)来构成主

blackA_的博客 2373

postgresql

定义 PostgreSQL Foreign Key约束指定子表中一组列或一列中的值,相当于父表中一组列或一列中的值。 在父子关系中,父表保留初始列值,子表的列值引用父列值。 创建 下图用于在 PostgreSQL 中使用CREATE TABLE命令定义Foreign Key: [CONSTRAINT constraint_name] FOREIGN KEY [foreign_key_name] (column_name, ...) REFERENCES pare..

日常博客 2427

什么是逻辑,举一个通俗的例子

这里的逻辑实际上是在应用程序层面建立了一种关联关系,以确保数据的完整性和一致性。虽然它不是数据库本身的约束,但在应用程序中的逻辑可以确保类似的约束效果。但是,假设我们的系统要求不允许在数据库中创建约束,或者由于其他原因我们不想在数据库层面实现这种关联关系。定义了两个表之间的父子关系,其中子表中的值必须在父表中存在。这是一个典型的一对多关系。我们可以在图书对象中包含一个作者ID的字段。我们可以通过在添加书籍时检查作者ID的有效性来确保这一点。来管理这种关联关系,这就是所谓的"逻辑"。

weixin_45791946的博客 1695

SQL:Primary Key(主)和Foreign Key(

首先,我想先介绍一下简单介绍SQL中的Key()和Index(索引)。

2402_88047672的博客 3962

【⑫MySQL | 约束(二)】 | 默认值 | 检查约束 — 综合案例

总的来说,使用约束可以提高数据库的数据质量、一致性和完整性,简化数据操作,并提高数据库的性能。它是数据库设计和管理中的重要概念,有助于保证数据的可靠性和有效性

热爱编程的小K的博客 5981

mysql 标记约束语法_「约束」约束 - seo实验室

约束如果公共关字在一个关系中是主关字,那么这个公共关字被称为另一个关系的(FOREIGN KEY)假设有有A、B两张数据表,A表有一个字段id用来唯一标识A中的一条记录,B表有一个字段a_id来关联A表的一条记录,则字段a_id被称为B表的、主的区别定义主:唯一标识一条记录,不能有重复,不允许为空,一张数据表只能有一个主:表的是另一张表中可以唯一标识的字段...

weixin_39737636的博客 886

mysql的使用foreign key

一般来说,哪张表添加了约束foreign key,哪张表就是子表,而关字references后面跟的就是主表。3、有表,有数据但没有的情况下添加:要注意,要选定作为列的数据和对应主表列的数据相匹配。2、有空表,有约束的情况下插入数据:要先给主表插入数据,在给子表插入数据。创建/添加约束,约束的名字是系统生成的,需要注意,而且我们再创建活添加的时候不需要给约束取名。cascade 同步主表动作,主表删除,子表同步删除,主表更新,子表也跟着更新。

qq_36961508的博客 1321

Oracle通过PL/SQL实现约束

一、主约束(PRIMARY KEY) `alter table class add constraint SYS_C0011099 primary key(id);` class为表名,id为列名,SYS_C0011099为主名称。 二、唯一性约束(UNIQUE) 对于UNIQUE约束来讲,索引是必须的。如果不存在,就自动创建一个(UNIQUE的唯一性本质上是通过索引来保证的) UNIQUE...

qq_46566543的博客 1578

MySQL的优缺点、案例分析

在MySQL中,是一个或多个字段,用于确保数据表之间的引用完整性。的主要作用是确保子表中的数据在父表中有对应的值。

zhangxueyi的专栏 989

Oracle数据库设计——定义约束 约束

约束保证参照完整性。约束限定了一个列的取值范围。一个例子就是限定州名缩写在一个有限值集合中,这个值集合是另一个控制结构——一张父表下面我们创建一张参照表,它提供了完整的州缩写列表,然后使用参照完整性确保学生们有正确的州缩写。第一张表是州参照表,State作为主CREATE TABLE state_lookup (state      VARCHAR2(2),  state_desc V

stevene的专栏 6677

深入理解MySQL 主

MySQL 主是面试必考、开发必用的核心知识点。本文跳出基础语法,从底层存储逻辑、聚簇索引、页分裂、UUID 避坑、级联操作到工业级角度,全方位帮助读者深度理解主提示:以下是本篇文章正文内容,下面案例可供参考InnoDB 以数据页(Page)为最小单位管理数据,一个页通常 16KB,空间固定。当插入一条无序数据InnoDB 必须申请新的数据页将原页大约一半数据挪到新页重新调整索引结构,维持有序性这个过程就是页分裂。

2502_93734028的博客 462
上一篇: 查外键父子关系
下一篇: 解压
MythColor
博客等级 码龄22年 3粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值