SQL 错误: ORA-00923: "FROM keyword not found where expected"



我注意到很多帖子都与这个错误有关,但在大多数情况下都缺少一个逗号。我相信这里的情况并非如此。不用说,我对Oracle不是很有经验。

触发错误的查询是

UPDATE RUBENB.METRICS 
SET (M0006,M0007) = 
(SELECT (M0004 - M0005), 
(1 - (M0004 / M0005))
FROM RUBENB.METRICS)

我认为这可能违反了数据库规范化规则,但它涉及一个相当小的表,该表应该呈现一些现在手动计算的数字。。。我很遗憾这方面的熟练程度很低,但目前我正在寻求一个快速而肮脏的解决方案,以便在未来用正确的报告取代。

UPDATE RUBENB.METRICS 
SET (M0006,M0007) = 
(SELECT (M0004 - M0005), 
(1 - (M0004 / M0005))
FROM RUBENB.METRICS)

必须拆分为两个

UPDATE RUBENB.METRICS SET 
  M0006 = (SELECT (M0004 - M0005) FROM RUBENB.METRICS),
  M0007 = (SELECT (1 - (M0004 / M0005)) FROM RUBENB.METRICS);

但更有可能你想要的是:

UPDATE RUBENB.METRICS SET 
  M0006 = (M0004 - M0005),
  M0007 = (1 - (M0004 / M0005));

相关内容

最新更新