ORACLE 10:
ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table原来好好里的,现在莫名其妙的就不行了,也不知道哪里有问题,连接了很多个表,很多个字段 不知哪个出现了问题,只是说一个字段,但是以我的判断应该没问题的啊,但是在 ORACLE 11里没问题,不知是不是oracle bug,还是数据没累计到一定程度? 老大们碰到过吗?主要是给个解决思路。
ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table原来好好里的,现在莫名其妙的就不行了,也不知道哪里有问题,连接了很多个表,很多个字段 不知哪个出现了问题,只是说一个字段,但是以我的判断应该没问题的啊,但是在 ORACLE 11里没问题,不知是不是oracle bug,还是数据没累计到一定程度? 老大们碰到过吗?主要是给个解决思路。
3个解决方案:
1)升级到10.2.0.4
2)升级到11g
3)使用oracle的语法改成:类似
9 WHERE header.header_id = line.header_id
10 AND header.sold_to_org_id = cust.customer_id
11 AND item.inventory_item_id = line.inventory_item_id
12 AND item.organization_id = line.ship_from_org_id
13 AND org.organization_id = line.ship_from_org_id
14 AND salesrep.salesrep_id(+) = header.salesrep_id
15 AND salesrep.org_id(+) = header.org_id
16 AND sales_loc.location_id(+) = salesrep.attribute1
17 AND header.orig_sys_document_ref = 'OE_ORDER_HEADERS_ALL74846'
18 AND header.order_source_id = 0;最后我是安装了oracle补丁解决的。升级办法
Oracle10.2.1 升级到Oracle10.2.4
1.停止数据库和监听,所有oracle服务
2.安装,一定要选择原来的路径,
3.启动监听
4.dbua升级数据库