ora01779 文心快码BaiduComate ORA-01779是Oracle数据库中一个常见的错误代码,下面我将从错误的含义、可能的原因、解决建议、故障排查步骤以及相关文档资源链接这几个方面进行详细解答。 一、ORA-01779错误的含义 ORA-01779错误的完整信息是:“cannot modify a column which maps to a non key-preserved table”,即...
oerr ora 01779 01779, 00000, "cannot modify a column which maps to a non key-preserved table" // *Cause: An attempt was made to insert or update columns of a join view which // map to a non-key-preserved table. // *Action: Modify the 我们来首先复现一下这个问题,准备基础的数据。cr...
ORA-01779: cannot modify a column which maps to a non-key-preserved table例如,使用以下的更新查询就会出现该错误。这个错误的意思是,子查询的结果中,更新数据源(test2)的内容不唯一,导致被更新对象(test1)中的一行可能对应数据源(test2)中的多行。 本例中,test2表的id不唯一,因此test2表中...
FROM test1 t1, test2 t2 WHERE t1.id=t2.id AND t2.upd=1 ) SET num1=num2; ORA-01779: cannot modify a column which maps to a non-key-preserved table 这个错误的意思是,子查询的结果中,更新数据源(test2)的内容不唯一,导致被更新对象(test1)中的一行可能对应数据源(test2)中的多行。 本例中...
在理解什么是键值保存表之前,首先要知道可更新的联接视图这个概念,键值保存表只是保存了允许更新的字段信息的一张表。为什么会出现这么一张表呢?一步一步来看吧。 理解“视图”、“联接视图”、“可更新的联接视图”的概念 视图可以分为视图对象和内嵌视图两种。
ORA-01779: cannot modify a column which maps to a non key-preserved table 问题的解释如下: SQL> !oerr ora 01779 01779, 00000, "cannot modify a column which maps to a non key-preserved table" // *Cause: An attempt was made to insert or update columns of a join view which ...
项目中通过子查询更新数据时遇到ORA-01779: 无法修改与非键值保存表对应的列,模拟过程如下: 1、创建测试表 2、录入测试数据 3、执行更新 报错:ORA-01779: 无法修改与非键值保存表对应的列 4、分析 根据错误提示:”无法修改与非键值保存表对应的列”,初步推断为tt2中没
简介:最近同事问我一个问题,是关于一个update语句的问题,需求有点特别,结果在使用update语句尝试了各种方法后,仍然是不依不饶的报出ORA-01779的错误。今天专门花时间分析了一下这个问题,还是有些收获。 最近同事问我一个问题,是关于一个update语句的问题,需求有点特别,结果在使用update语句尝试了各种方法后,仍然是...
所以,这样的时候数据库也不知道该怎么处理,只能报出一个ORA-01779: 无法修改与非键值保存表对应的列的错误。 那怎么才能看到这个键值保存表呢?ORACLE提供了一个视图。 SELECT * FROM DBA_UPDATABLE_COLUMNS WHERE OWNER = 'SCOTT' AND TABLE_NAME = 'EMP_DEPT_V'; OWNER | TABLE_NAME | COLUMN_NAME | ...
在理解什么是键值保存表之前,首先要知道可更新的联接视图这个概念,键值保存表只是保存了允许更新的字段信息的一张表。为什么会出现这么一张表呢?一步一步来看吧。 理解“视图”、“联接视图”、“可更新的联接视图”的概念 视图可以分为视图对象和内嵌视图两种。