• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > ORA-02298: 无法验证 (约束)提示未找到父项关键字的解决办法

ORA-02298: 无法验证 (约束)提示未找到父项关键字的解决办法

作者:Acamy 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Acamy通过本文主要向大家介绍了未找到父项关键字,百度逛关键词父,百度逛关键词父快排,百度逛关键词父快排软,百度逛关键词父快等相关知识,希望本文的分享对您有所帮助

--在用PL/SQL导入表数据的时候报错 ORA-02298: 无法验证 (PNET.POST_CLOB_FK) - 未找到父项关键字

--发现是启用外键约束时报的错
alter table DM_VOLREV enable constraint VR_VOLID_FK;
</div>

/*原因分析:

你要插入的表A里,有外键连接到另一个表B的主键,你在表A的外键列插入的值,在表B的主键列找不到就不能插入。
主要看两表中的数据是否一致,从表中要关联外键的字段中的数据必须包含在主表相关字段的数据内。

处理的方法有:

1> 先不验证已有数据的CONSTRANT,加上参数NOVALIDATE.*/
ALTER TABLE PN_POST ADD CONSTRAINT POST_CLOB_FK FOREIGN KEY (POST_BODY_ID) REFERENCES PN_POST_BODY_CLOB (OBJECT_ID) NOVALIDATE;
--2>首先查看两个表对应起来的数据有多少
select count(*) from dm_volrev t,DM_VOLID k where t.vr_volid = k.vi_volid;
--再分别查看单独的数据,发现外键表多了一行
select count(*) from dm_volrev t;
select count(*) from DM_VOLID k;
-找到多的行并删除
select t.vr_volid from dm_volrev t where t.vr_volid not in (select k.vi_volid from DM_VOLID k);
delete from dm_volrev t where t.vr_volid = 479908;
--直接重新执行启用外键的语句,或者删除之前的外键创建新的外键
alter table DM_VOLREV drop constraint VR_VOLID_FK;
ALTER TABLE DM_VOLREV ADD CONSTRAINT VR_VOLID_FK foreign KEY (VR_VOLID) references DM_VOLID(VI_VOLID) VALIDATE;


/*启用约束:
enable( validate) :启用约束,创建索引,对已有及新加入的数据执行约束.
enable novalidate :启用约束,创建索引,仅对新加入的数据强制执行约束,而不管表中的现有数据.

禁用约束:
disable( novalidate):关闭约束,删除索引,可以对约束列的数据进行修改等操作.
disable validate :关闭约束,删除索引,不能对表进行 插入/更新/删除等操作.*/
</div>

以上所述是小编给大家介绍的ORA-02298: 无法验证 (约束)提示未找到父项关键字的解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ORA-02298: 无法验证 (约束)提示未找到父项关键字的解决办法

相关文章

  • 2017-05-11Oracle索引质量介绍和分析脚本分享
  • 2017-05-11oracle删除已存在的表的实例
  • 2017-05-11Oracle 查询优化的基本准则详解
  • 2017-05-11Oracle入侵常用操作命令整理
  • 2017-05-11在ORACLE移动数据库文件
  • 2017-05-11Oracle数据库中SQL语句的优化技巧
  • 2017-05-11ORACLE SQL-UPDATE、DELETE、INSERT优化和使用技巧分享
  • 2017-05-11oracle中的decode的使用介绍
  • 2017-05-11Oracle中serveroutput参数一次设置永久保存方法
  • 2017-05-11oracle中的ID号实现自增长的方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)
    • Oracle SQLPlus命令
    • LINUX下Oracle数据库用户创建方法详解
    • OraclePL/SQL单行函数和组函数详解
    • Oracle RMAN快速入门指南
    • oracle应用程序实现打包 的方法
    • Linux 自动备份oracle数据库详解
    • Oracle中查看引起Session阻塞的2个脚本分享
    • Oracle对于死锁的处理方法
    • Oracle BULK COLLECT批量取数据解决方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有