我试图让 WITH 子句与 Oracle 中的合并一起工作,但由于某种原因,我无法让它工作。我敢肯定这是显而易见的,但我只是还没有看到。
-- behold, the wonders of fake data
WITH X AS (
SELECT
'moo' AS COW,
'woof' AS CAT,
(SELECT MAX( DECIBELS ) FROM ANIMALIA WHERE COW = 'moo' ) AS DECIBELS
FROM DUAL )
MERGE INTO ANIMALIA D
USING X
WHEN MATCHED THEN
UPDATE SET D.COW = X.COW;
编辑
我实际上发现了如何解决这个问题(在我提交问题之前),但我认为因为我花了很长时间才找到答案,希望留下这个问题意味着下一个人会发现它不是那么很多时间。
我会在一天左右发布答案,但如果其他人同时发布答案,他们将获得积分。