问题描述

错误报告 -
SQL 错误: 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 underlying base tables directly.

这个错误产生的原因是子查询的结果中,用来更新demo_t1的demo_t2表id不唯一,导致被更新对象test1中的一行可能要对应test2中的很多行,这样oracle就不知道该怎么更新

例如demo_t1中fname A fmoney '20'有可能对应demo_t2中fname A fmoney '100', ifname A fmoney '200' 这2个数据,所以导致无法更新.

解决办法

删除重复数据 给demo_t2加上一个主键

ALTER TABLE DEMO_T2 ADD PRIMARY KEY(FNAME);

再次尝试,更新成功

ORA-01779: 无法修改与非键值保存表对应的列相关推荐

  1. oracle视图无法使用rowid,请问:无法从没有键值保存表的连接视图中选择 ROWID 这个是什么原因啊?...

    rowid 在join 视图的情况 select column_name, insertable, updatable, deletable from user_updatable_columns w ...

  2. React学习(3)——列表、键值与表单

    为什么80%的码农都做不了架构师?>>>    本文记录了在官网学习如何使用JSX+ES6开发React的过程. . 全文共分为3篇内容: JSX语法与React组件 状态.事件与动 ...

  3. android修改默认遥控器键值,android 中遥控器键值的添加和修改

    前言:TV 上遥控器键值怎么样对应到android的系统中,最近一个客户需要在我们的平台上修改,所以,我顺便做了一下总结,方便以后参考. 请转载的朋友一定加上出处,十分感谢~~ 第一步: init.r ...

  4. android修改默认遥控器键值,RK3128平台android系统修改添加遥控器键值码值

    本帖最后由 微笑,一路向前 于 2017-1-4 15:34 编辑 最近帮客户定制RK3128平台的固件,涉及到定制新的遥控器,需要添加或修改遥控码值.RK3128平台Android系统修改遥控器码值 ...

  5. 注册表各键值保存的内容及其对用的作用(功能)(不完善,有补充的评论指出供大家学习参考)

    从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在Windows NT中已有此概念).注册表是Windows 95及Window ...

  6. 五大存储模型关系模型 键值存储 文档存储 列式存储 图形数据库

    也可以认为是五大数据库存储模型. 数据库市场需要细分,行式数据库不再满足所有的需求,而有很多需求需要通过本内存数据库和列式数据库解决,列式数据库在数据分析.海量存储.BI这三个领域有自己独到. 1. ...

  7. EXCEL中两列合并成一列以及根据相同列的值将表中一列的值复制到另一张表中?

    今在做EXCEL时遇两问题,现和大家分享如下: 1.如何将表中两列值合并到一列,并按照一定的分隔符进行分割,公式如下: 假如:要将F和G的值 合并到H列并按逗号","隔开:  H1 ...

  8. 判断按键输入代码及 vk 键值对应表

    仅做个笔记,以防丢失 #define KEY_DOWN(vk_code) GetAsyncKeyState(vk_code) & 0x8000 ? 1 : 0 //用于判断按键输入 用法简示: ...

  9. pandas 小技巧——用指定列的“非空值”值去填充另一列的“空值”

    举例:有df如下 >import numpy as np >df = pd.DataFrame({"name":["apple", "pe ...

最新文章

  1. 百度娱乐沸点颁奖典礼,温度太低的“沸点”
  2. linux开启nscd服务缓存加速
  3. NPM:nodejs官方包管理工具的简介、安装、使用方法之详细攻略
  4. linux下调试thread 类_在 RISC-V 芯片 GD32V 上运行 RT-Thread
  5. “别傻了,你不需要区块链!”
  6. hashmap扩容_聊一聊HashMap
  7. C语言函数库之字符串连接函数(string.h)
  8. GNSS数据处理(一)——开源GNSS数据处理软件介绍
  9. VS一个解决方案中有多个项目,如何快速选择启动项
  10. 学习云计算有哪些优势?附学习路线图
  11. npm install的报错 npm ERR! code ENOENTnpm ERR! syscall opennpm ERR! path D:\work\main/package.jsonnp
  12. SpringBoot整合Guacamole
  13. Landsat8卫星介绍
  14. java毕业设计_基于web的医院信息管理系统
  15. Python之路【第二十三篇】:数据库基础
  16. mysql xa 序列化_MYSQL 的数据序列化Api接口详情
  17. 微信小程序 本地存储
  18. 记事本写HTML中文出现乱码的问题
  19. 计网——计算机网络概述
  20. 卡尔曼滤波器1——递归算法(笔记篇 + 代码实现)

热门文章

  1. linux开启swap(磁盘缓存)操作
  2. 原生js获取document_常见的原生javascript DOM操作
  3. 关于new Map()
  4. Web 图片引用之相对路径与绝对路径
  5. 如何建设IDC数据中心机房?需要办理哪些许可证和资质【技术篇】华信网通帮您解答!
  6. TOPSIS法笔记(优劣解距离法)
  7. Android ContextMenu
  8. 教师职业道德与专业发展
  9. Unity 3D学习笔记(5)物体的碰撞/触发检测
  10. python模拟按键与鼠标操作(一)