ORA-01779 错误是 Oracle 数据库中一个常见的错误,其含义为“无法修改与非键值保存表对应的列”。这个错误通常出现在尝试更新或插入数据到一个联接视图(Join View)时,而这个视图映射到的表不满足键值保存(Key-Preserved)的要求。 可能导致 ORA-01779 错误的原因 非唯一性关系:在联接视图中,如果更新或插入操作依赖于...
一、如果两张表有主键关系的话: 执行更新 1 2 UPDATE (SELECT tt1.col1 ,tt2.cola,tt1.id,tt2.id FROM tt1,tt2 WHERE tt1.ID=tt2.ID) SET col1=cola; 报错:ORA-01779: 无法修改与非键值保存表对应的列 分析 根据错误提示:”无法修改与非键值保存表对应的列”,初步推断为tt2中没有主键? 那么...
所以,这样的时候数据库也不知道该怎么处理,只能报出一个ORA-01779: 无法修改与非键值保存表对应的列的错误。 那怎么才能看到这个键值保存表呢?ORACLE提供了一个视图。 SELECT * FROM DBA_UPDATABLE_COLUMNS WHERE OWNER ='SCOTT'AND TABLE_NAME ='EMP_DEPT_V'; OWNER| TABLE_NAME |COLUMN_NAME| UPDATABLE |INS...
简介: ORA-01779: 无法修改与非键值保存表对应的列 问题描述 这个错误产生的原因是子查询的结果中,用来更新demo_t1的demo_t2表id不唯一,导致被更新对象test1中的一行可能要对应test2中的很多行,这样oracle就不知道该怎么更新 例如demo_t1中fname A fmoney '20'有可能对应demo_t2中fname A fmoney '100', if...
在理解什么是键值保存表之前,首先要知道 可更新的联接视图 这个概念,键值保存表只是保存了允许更新的字段信息的一张表。为什么会出现这么一张表呢?一步一步来看吧。 理解“视图”、“联接视图”、“可更新的联接视图”的概念 视图可以分为视图对象和内嵌视图两种。 - 视图对象(View Object) 数据库里的视图对象跟...
"ORA-01779:无法修改与非键值保存表对应的列"问题 这几天在一个老生产系统中出现了一个问题,在修改数据的时候报错: no changes made to database insert into "xxxxx"("id","c1","c2",c3,c4,c5) values(:1,:2,:3,:4,:5,:6) 经过排查发现是系统通过一个view修改一张表的时候出现这个错误,该view...
Oracle视图更新条件——Key-Preserved Tables(ORA-01779: 无法修改与非键值保存表对应的列),程序员大本营,技术文章内容聚合第一站。
在理解什么是键值保存表之前,首先要知道可更新的联接视图这个概念,键值保存表只是保存了允许更新的字段信息的一张表。为什么会出现这么一张表呢?一步一步来看吧。 理解“视图”、“联接视图”、“可更新的联接视图”的概念 视图可以分为视图对象和内嵌视图两种。
SQL基础篇---修改表内的数据,删除列 2016-08-24 01:20 −知识点1---ALTER 下列代码意义:向已存在的表my_foods中新增自动排列的列 作为主键 ALTER TABLE my_contacts --表名称 ADD COLUMN id INT NOT NULL AUTO_INCREMENT FIRST, --新的 列 id,自动排列,该列于第... Simon...
第一种:修改业务数据,使date_num数据唯一 第二种:写一个视图(DIM_WORKTIME_SPECIALDAY),去重之后再更新 selectdistinctto_date(date_num,'yyyy-mm-dd hh24:mi:ss')asdate_num, is_restfromWORKTIME_SPECIALDAYwhereIS_REST=0andorg_account_id='670869647114347' ...