壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7904|回复: 11

求助:ORA-01445: 无法从没有键值保存表的连接视图中选择 ROWID

[复制链接]
发表于 2008/1/22 20:36:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
做了一个FORM,想更改视图中一个表的字段,通过CHECKBOX来实现,选中为Y,不选中为N
可是只要一点CHECKBOX就为报错:ORA-01445: 无法从没有键值保存表的连接视图中选择 ROWID

请求高手协助!谢谢。。
a.gif
发表于 2008/1/22 21:45:35 | 显示全部楼层
检查一下这个数据块“使用主键”属性是否已经设置,主键字段是否已经定义。如果没有定义你是不能通过视图对基表进行任何修改的
发表于 2008/1/22 23:57:03 | 显示全部楼层
数据源是多表联结的视图也可能出现这种情况,建议采用手写代码的方式处理数据
 楼主| 发表于 2008/1/23 08:33:44 | 显示全部楼层
matlink:
  1) In the block properties change the key mode property of the block to
     NON-UPDATABLE Primary Key.
  2) Make one or more columns primary keys in their item property palette(s).
发表于 2008/1/23 09:05:52 | 显示全部楼层

"没有键值保存表"=non key reserved view

你的block是基于视图的, 并且这个视图是non-key-reserved, 所以, oracle无法直接update这个视图. 你需要采用oracle standard的做法, 使用form的trigger来分别处理update/delete/insert/lock.
 楼主| 发表于 2008/1/23 09:13:25 | 显示全部楼层
我写了在TRIGGER下写了UPDATE,不起作用
只要一选中就会报错
 楼主| 发表于 2008/1/24 14:22:41 | 显示全部楼层
怎么回事,论坛难道没有人遇到类似的问题,问个问题没有点反应,郁闷。。。。。。。。。
发表于 2008/1/24 14:33:28 | 显示全部楼层
DB 9.2.0.6及之前的BUG
1.你升级到9.2.0.8或10G
2.更改视图里连接的顺序或话可以解决
发表于 2008/1/24 14:36:46 | 显示全部楼层
3个点:
1、有没有设置数据块属性为“允许使用主键”;
2、有没有设置一到多个主键项目;
3、有没有将数据块的“键模式”属性设置为可更新。

在此基础之上,编写on-update代码。

好好检查你的设置是否符合要求
发表于 2010/9/5 13:15:27 | 显示全部楼层
我和楼主遇到同样的问题,怎么改属性,怎么on-update里面写代码都没用,这到底是什么原因引起的呀???
发表于 2012/3/13 11:50:47 | 显示全部楼层
我也遇到这样的问题BLOCK 和 ITEM的都设主键 但是仍然这样,表示论坛有没高手给予解决
发表于 2013/1/17 09:53:36 | 显示全部楼层
初学FORM 也遇到这个问题了,Help
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 14:04 , Processed in 0.015444 second(s), 15 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表