【发布时间】:2016-12-20 14:58:26
【问题描述】:
我收到一个错误,即在预期的地方找不到 FROM 关键字。请让我知道以下代码中可能有什么问题。我正在尝试使用两个内部连接进行更新,并从另一个视图中进行选择。请让我知道如何在 oracle 中完成此操作。
update (Select asset.CRV_AMOUNT as ACRV,
cmd.CRV_PERCENT as CRVP,
(select CRV$
from recapt.facility_rec_crv_V fac_v
where fac_v.fac_code = fac.code
AND fac_v.complex_code = fac.complex_code) CRV_TOTAL as CRVT
from recapt.asset asset
inner join recapt.facility_rec fac
on fac.code = asset.fac_rec_code and
fac.complex_code = asset.complex_code
inner join recapt.cost_model_detail cmd
on cmd.cost_model_id = fac.cost_model_id and
cmd.mf_division_id = asset.mf_division_id) t
SET t.ACRV = ((t.CRVP * t.CRVT)/100);
【问题讨论】:
-
您使用双重别名 (
) CRV_TOTAL as CRVT) 标量子查询。另外,这不是可更新的视图。 -
所以我可以只使用 CRV_TOTAL 吗?
-
我改变了,现在我得到“无法修改映射到非键保留表的列”
-
是否没有其他方法可以从视图中读取来计算,因为我没有在查询中编辑视图值
标签: sql oracle join sql-update inner-join