尝试更新表时 SQL Developer 中的错误
Posted
技术标签:
【中文标题】尝试更新表时 SQL Developer 中的错误【英文标题】:Error in SQL Developer when trying to update table 【发布时间】:2021-06-20 18:59:12 【问题描述】:我想更新表 skuxloc 数量以等于 lotxlocxid 中每个 sku 的数量之和,如下所示:
update skuxloc sl
set sl.qty = lli.sumqty
inner join
(
select sku, sum(qty) sumqty
from lotxlocxid
where loc = 'DRSLN7STG'
group by sku
) lli on lli.sku = sl.sku
where sl.sku in
('108720-419-S',
'108720-419-XS',
'876070-100-11',
'876070-100-12',
'876070-100-9.5',
'942836-100-10.5',
'942836-100-6.5',
'942837-100-6.5',
'CW5594-100-6',
'CW5594-100-6.5',
'CW5594-100-8',
'DD1583-402-M',
'942836-100-9');
我在第 2 行收到错误,表明此 SQL 命令未正确结束。
知道我可能做错了什么吗?
【问题讨论】:
【参考方案1】:Oracle 不支持更新中的join
。而是使用相关子查询:
update skuxloc sl
set sl.qty = (select sum(lli.qty)
from lotxlocxid lli
where loc = 'DRSLN7STG' and
lli.sku = sl.sku
)
where sl.sku in
('108720-419-S',
'108720-419-XS',
'876070-100-11',
'876070-100-12',
'876070-100-9.5',
'942836-100-10.5',
'942836-100-6.5',
'942837-100-6.5',
'CW5594-100-6',
'CW5594-100-6.5',
'CW5594-100-8',
'DD1583-402-M',
'942836-100-9');
【讨论】:
以上是关于尝试更新表时 SQL Developer 中的错误的主要内容,如果未能解决你的问题,请参考以下文章
尝试查看表时 Oracle SQL Developer 没有响应(或建议使用 Oracle Mac 客户端)
尝试连接到 SQL 表时,MS Access 2007 中的查询错误
在 Oracle SQL Developer 连接窗口中选择表时如何避免默认获取表定义