返回顶部
首页 > 资讯 > 数据库 >数据库更新表数据时出现ORA-02292错误怎么解决
  • 649
分享到

数据库更新表数据时出现ORA-02292错误怎么解决

2024-04-02 19:04:59 649人浏览 薄情痞子
摘要

本篇内容介绍了“数据库更新表数据时出现ORA-02292错误怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学

本篇内容介绍了“数据库更新表数据时出现ORA-02292错误怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在更新表的主键字段或DELETE数据时,如果遇到ORA-02292: integrity constraint (xxxx) violated - child record found 这个是因为主外键关系,下面借助一个小列子来描述一下这个错误:

实验:
--建立主表
sql> create table student(id  number,name nvarchar2(12),constraint pk_student primary key(id));

Table created.

--建立外键约束表
SQL> create table grades(id  number ,subject nvarchar2(12),scores number,constraint pk_grades primary key(id ,subject),constraint fk_student_id foreign key(id) references student(id));

Table created.

SQL> insert into student values(1001,'kerry');

1 row created.

SQL> insert into student values(1002,'jimmy');

1 row created.

SQL> commit;

Commit complete.

SQL> insert into grades values(1001, 'math', 120);

1 row created.

SQL> insert into grades values(1001, 'english', 106);

1 row created.

SQL> commit;

Commit complete.

--查看:
SQL> select * from student;

        ID NAME
---------- ------------------------
      1001 kerry
      1002 jimmy

SQL> select * from grades;

        ID SUBJECT                      SCORES
---------- ------------------------ ----------
      1001 math                            120
      1001 english                         106

--更新主表列
SQL> update student set id=1004 where name='kerry';
update student set id=1004 where name='kerry'
*
ERROR at line 1:
ORA-02292: integrity constraint (SYS.FK_STUDENT_ID) violated - child record
found


--报错,解决:首先找到外键约束和相关表,禁用外键约束,处理数据,然后启用外键约束:查询dba_constraints
SQL> col OWNER for a10
SQL> select owner,CONSTRAINT_NAME,TABLE_NAME,SEARCH_CONDITION,VALIDATED from dba_constraints where constraint_name='FK_STUDENT_ID';

OWNER      CONSTRAINT_NAME                TABLE_NAME                     SEARCH_CONDITION               VALIDATED
---------- ------------------------------ ------------------------------ ------------------------------ -------------
SYS        FK_STUDENT_ID                  GRADES                                                         VALIDATED

SQL>

--disable约束:
SQL> alter table sys.grades disable constraint FK_STUDENT_ID;

Table altered.

SQL>
SQL> update student set id=1004 where name='kerry';

1 row updated.

SQL> commit;

Commit complete.

SQL> update grades set id=1004 where id =1001;

2 rows updated.

SQL> commit;

Commit complete.

--修改完后,再enable约束:
SQL> alter table sys.grades enable constraint FK_STUDENT_ID;

Table altered.

--查看:
SQL>  select * from student;

        ID NAME
---------- ------------------------
      1004 kerry
      1002 jimmy

SQL> select * from grades;

        ID SUBJECT                      SCORES
---------- ------------------------ ----------
      1004 math                            120
      1004 english                         106

SQL>


---如果是删除数据遇到这种情况,可以先删除子表数据,然后删除父表数据,如下:
SQL> delete from student where id=1004;
delete from student where id=1004
*
ERROR at line 1:
ORA-02292: integrity constraint (SYS.FK_STUDENT_ID) violated - child record found

--先删除子表中相关列数据,
SQL>  delete from grades where id in ( select id from student where id=1004);

2 rows deleted.

--再次删除
SQL>  delete from student where id=1004;

1 row deleted.

SQL> commit;

Commit complete.

SQL> select * from student;

        ID NAME
---------- ------------------------
      1002 jimmy

SQL> select * from grades;

no rows selected

SQL>

数据库更新表数据时出现ORA-02292错误怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: 数据库更新表数据时出现ORA-02292错误怎么解决

本文链接: https://lsjlt.com/news/70196.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 数据库更新表数据时出现ORA-02292错误怎么解决
    本篇内容介绍了“数据库更新表数据时出现ORA-02292错误怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • Oracle中删除数据报ORA 02292错误怎么办
    这篇文章给大家分享的是有关Oracle中删除数据报ORA 02292错误怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体代码如下所示:--查询表TP_MENU有哪些约束 ...
    99+
    2024-04-02
  • 怎么解决数据库ORA-01511错误
    这篇文章主要讲解了“怎么解决数据库ORA-01511错误”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决数据库ORA-01511错误”吧!数据库版本1...
    99+
    2024-04-02
  • 怎么解决数据库ORA-20005错误
    这篇文章主要介绍“怎么解决数据库ORA-20005错误”,在日常操作中,相信很多人在怎么解决数据库ORA-20005错误问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决...
    99+
    2024-04-02
  • mysql切换数据库出现错误怎么解决
    在MySQL中切换数据库时出现错误可能有多种原因,以下是一些常见的解决方法: 确保输入的数据库名称正确:在切换数据库时,需要输入...
    99+
    2024-04-09
    mysql 数据库
  • Oracle数据库出现ora-12899错误的解决方法
    这篇文章运用简单易懂的例子给大家介绍Oracle数据库出现ora-12899错误的解决方法,文章内容步步紧凑,希望大家根据这篇文章可以有所收获。出现ORA-12899,是字符集引起的,中文在UTF-8中占3...
    99+
    2024-04-02
  • 怎么解决数据库中ORA-04030错误
    这篇文章主要介绍“怎么解决数据库中ORA-04030错误”,在日常操作中,相信很多人在怎么解决数据库中ORA-04030错误问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么...
    99+
    2024-04-02
  • 数据库中怎么解决修改表名时遇到ORA-14047错误
    本篇内容主要讲解“数据库中怎么解决修改表名时遇到ORA-14047错误”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据库中怎么解决修改表名时遇到ORA-140...
    99+
    2024-04-02
  • MySQL删除数据库时出现错误ERROR 1010 (HY000)怎么解决
    本篇内容主要讲解“MySQL删除数据库时出现错误ERROR 1010 (HY000)怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL删除数据库时...
    99+
    2024-04-02
  • Oracle数据库中出现ora-12899错误怎么办
    这篇文章将为大家详细讲解有关Oracle数据库中出现ora-12899错误怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在使用ORACLE的过程中,会出现各种各样的...
    99+
    2024-04-02
  • MySQL数据库数据导出出现1290(secure_file_priv)错误解决方法
    目录 解决方案: 测试效果: 解决方案: secure_file_priv是用来限制mysql数据库导出的位置/目录。算是一直安全保护系统。 我们可以去通过show variables like '%secure%';  这个指令去查看...
    99+
    2023-09-03
    数据库
  • sqlserver更新数据报网络错误怎么解决
    SQL Server更新数据时报网络错误通常是由于网络连接不稳定或者网络延迟引起的。以下是一些可能的解决方法: 检查网络连接:首...
    99+
    2024-04-09
    sqlserver
  • 数据库中删除表空间出现ORA-22868错误怎么办
    这篇文章主要介绍了数据库中删除表空间出现ORA-22868错误怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  在测试CONVERT DATABAS...
    99+
    2023-06-06
  • mysql数据库连接过多出现错误怎么解决
    这篇文章主要介绍“mysql数据库连接过多出现错误怎么解决”,在日常操作中,相信很多人在mysql数据库连接过多出现错误怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • 数据库中出现RMAN-06820 ORA-17629错误怎么办
    这篇文章将为大家详细讲解有关数据库中出现RMAN-06820 ORA-17629错误怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在standby数据库进行数据库备...
    99+
    2024-04-02
  • oracle创建数据库时出错怎么解决
    在Oracle创建数据库时出现错误可能是由于以下几个原因: 服务未启动:请确保Oracle服务已经启动。可以在操作系统的服务管理...
    99+
    2024-04-09
    oracle 数据库
  • sqlserver附加数据库时出错怎么解决
    当在SQL Server中尝试附加数据库时出现错误时,可以尝试以下解决方法: 检查数据库文件是否存在:确保要附加的数据库文件(....
    99+
    2024-04-17
    sqlserver
  • PHP连接PostgreSQL数据库时出现错误
    标题:PHP连接PostgreSQL数据库时出现错误,具体代码示例解析 在进行Web开发过程中,常常需要与数据库进行交互操作,而其中连接数据库是至关重要的一步。在使用PHP语言连接Po...
    99+
    2024-02-27
    错误 php
  • 数据库启动时报ORA-00845错误解决方法
    问题描述:巡检时发现某一个节点数据库down了,通过sqlplus 进行系统时显示连接的是一个空实例,尝试通过startup重启数据库报错,提示MEMORY_TARGETnot supported on t...
    99+
    2024-04-02
  • mysql数据库中出现1045错误如何解决
    mysql数据库中出现1045错误如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。解决方案:1.找到MySQL安装路径下...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作