当前位置: 首页 > 知识库问答 >
问题:

在约束中查找父关键点

酆恩
2023-03-14

我要破例了

ORA-02291:违反了完整性约束(ADS.ADS\u JOB\u FAMILIES\u F03)-未找到父密钥

我在正在插入的表中找到了约束。

如何查找父键和子键。。。(列)。

注意:我正在使用Oracle

共有1个答案

金谭三
2023-03-14

对于父表:

select * from all_constraints 
         where constraint_name in (
               select R_CONSTRAINT_NAME 
                 from all_constraints 
                where constraint_name = 'ADS_JOB_FAMILIES_F03'); 

对于父列:

select * 
  from all_cons_columns 
 where constraint_name in (
       select constraint_name 
         from all_constraints 
        where constraint_name in (
              select R_CONSTRAINT_NAME 
                from all_constraints 
               where constraint_name = 'ADS_JOB_FAMILIES_F03')); 

这并不完全完美,因为它忽略了约束的所有者。但我认为它会对你有用。

编辑:我现在甚至找到了这个。这将给出如下查询:

SELECT a.table_name, a.column_name, a.constraint_name, c.owner, 
       -- referenced pk
       c.r_owner, c_pk.table_name r_table_name, c_pk.constraint_name r_pk
  FROM all_cons_columns a
  JOIN all_constraints c ON a.owner = c.owner
                        AND a.constraint_name = c.constraint_name
  JOIN all_constraints c_pk ON c.r_owner = c_pk.owner
                           AND c.r_constraint_name = c_pk.constraint_name
 WHERE a.constraint_name = 'ADS_JOB_FAMILIES_F03';
 类似资料:
  • 在进行jOOQ不可知(无代码生成)迁移时,我遇到了一种情况,需要检查数据库中是否存在约束(唯一的外键),以便完成进一步的操作。 到目前为止,我尝试的是运行drop并尝试捕获异常,但它使事务失败,并停止后续迁移 设置: Spring jOOQ无需代码生成 FlywayDB作为迁移库 Postgres

  • 问题内容: 嗨,我正在Oracle SQL开发人员中开发数据库,​​试图从另一个表访问foriegn键。我目前正在使用以下CREATE语句创建的ItemOrdered表 如您所见,我具有以下前键Ords和BeltID。 现在,当我尝试运行以下语句时 它给了我以下错误 违反-找不到父密钥02291。00000-“违反完整性约束(%s。%s)-找不到父密钥” 如果需要,我已经提供了Ords CREAT

  • 我遇到了一些SQL外键的问题。 下面是我的表和插入SQL。 SQL ORA-02291:违反完整性约束-未找到父键 我不知道为什么我的外键是错的?

  • 问题内容: 我有这两张表 Table: Guards Table: Squads 该列指向表中的列,我正在尝试创建一个约束,以检查链接到作为领导者提供的保护ID的列是否为特定值(在本例中为1) 这可能吗?还是我必须使用扳机? 问题答案: 您需要添加一个约束。我将约束包装到一个函数中,因为您需要检查另一个表的值。 该函数将检查防护等级是否足够高:请确保将其设置为适当的值,或者甚至更好地从另一个表中获

  • mysql 5.7 外键约束 主表:部门表 从表:员工表 添加外键:从表 dep_id 关联 主表 id >[danger] CASCADE > 级联更新 主表数据更新从表会更新外键 级联删除 主表数据删除,从表会一起删除

  • 我最近正在了解这一点,我想知道我是否可以帮助自己,这里是我的数据库: 插入值