我注意到很多帖子都与这个错误有关,但在大多数情况下都缺少一个逗号。我相信这里的情况并非如此。不用说,我对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));