sql >> Database >  >> RDS >> Oracle

Waarom kan ik niet meer dan één kolom tegelijk bijwerken met het trefwoord With?

Dit lijkt te werken (het deed het in ieder geval met een eenvoudige zoekopdracht met DUAL):

UPDATE Table_A SET (Col_One, Col_Two) = (select col_one, col_two from
                                          (WITH OneValue AS (SELECT DISTINCT t.Col_One, T.Col_two
                                                  FROM Table_Two t, Table_A a
                                                  WHERE t.id = a.New_Id))
                                           SELECT Col_One, Col_Two FROM OneValue)
                                        );

Wat betreft de reden waarom het niet werkt als de subquery begint met "MET", kan ik me alleen maar voorstellen dat dit komt omdat de ontwerpers van Oracle SQL dit gebruik niet hadden verwacht.




  1. Oracle Dynamic SQL-voorbeeld om een ​​record in te voegen met DBMS_SQL

  2. JPA Hibernate Persistence-uitzondering [PersistenceUnit:standaard] Kan Hibernate SessionFactory niet bouwen

  3. Hoe maak je een lijst van de toegestane ip die mysql kan inloggen?

  4. Meerdere rijen met volgorde invoegen in Oracle