我要破例了
ORA-02291:违反了完整性约束(ADS.ADS\u JOB\u FAMILIES\u F03)-未找到父密钥
我在正在插入的表中找到了约束。
如何查找父键和子键。。。(列)。
注意:我正在使用Oracle
对于父表:
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 > 级联更新 主表数据更新从表会更新外键 级联删除 主表数据删除,从表会一起删除
我最近正在了解这一点,我想知道我是否可以帮助自己,这里是我的数据库: 插入值