sql >> Databasteknik >  >> RDS >> Oracle

Oracle -- MED KLAUSUL => SLUT? (Syntaxfel, )

Du kan inte använda WITH-satsen någon annanstans än i en SELECT-sats. Se dokumentationen här. :

Så du kan göra något i stil med detta (11g testad):

MERGE INTO animalia d
USING (WITH X AS 
       (SELECT  'moo' AS COW, 'woof' AS CAT, 
                (SELECT MAX( DECIBELS ) 
                   FROM ANIMALIA 
                  WHERE COW = 'moo' ) AS DECIBELS
          FROM DUAL )
       SELECT * FROM X) q ON (1 = 1)
 WHEN MATCHED THEN UPDATE SET d.cow = q.cow||' and more';



  1. Förekommer MySQL-cache, hur fixar jag det?

  2. Bearbeta utf-8-data från MySQL i C++ och ge resultatet tillbaka

  3. ta bort dubbletter

  4. php / MySQL - Visar endast en rubrik för objekt