sql >> Databasteknik >  >> RDS >> Oracle

Varför kan jag inte uppdatera mer än en kolumn samtidigt med hjälp av Med sökord?

Det här verkar fungera (det gjorde det med en enkel fråga med DUAL ändå):

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)
                                        );

När det gäller varför det inte fungerar om underfrågan börjar med "WITH", kan jag bara föreställa mig att det beror på att designers av Oracle SQL inte hade förutsett denna användning.




  1. SQLite till Postgres (Heroku) GROUP BY

  2. PostgreSQL - Tilldela heltalsvärde till sträng i case-satsen

  3. Varför Oracle inte visar heltalsdelen av en decimal

  4. Få data från specifika användare i PHP