为什么这个说法在 ORACLE 中不起作用?



我想在ORACLE中执行的语句:

update c1 
set c1.valor = x.tot_cap 
from OBM2019.compproj c1 
inner join (
select chave_projecto, ascendente a, sum(valor) tot_cap 
from OBM2019.compproj 
where chave_projecto = '1' 
group by chave_projecto,ascendente
) x 
on c1.chave_projecto = x.chave_projecto 
where c1.chave_projecto = '1' 
and c1.numero = x.a;

给出第35列"SQL命令未正确结束"的错误。谢谢。

试试这个:

update (
select c1.valor, x.tot_cap 
from OBM2019.compproj c1 
inner join (
select chave_projecto, ascendente a, sum(valor) tot_cap 
from OBM2019.compproj 
where chave_projecto = '1' 
group by chave_projecto,ascendente
) x on c1.chave_projecto = x.chave_projecto 
where c1.chave_projecto = '1' and c1.numero = x.a
)
SET valor = tot_cap;

最新更新