sql >> Database teknologi >  >> RDS >> Oracle

Hvorfor kan jeg ikke opdatere mere end én kolonne på samme tid ved at bruge Med søgeord?

Dette ser ud til at virke (det gjorde det med en simpel forespørgsel ved hjælp af DUAL alligevel):

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

Med hensyn til hvorfor det ikke virker, hvis underforespørgslen starter med "WITH", kan jeg kun forestille mig, at det er, fordi designerne af Oracle SQL ikke havde forudset denne brug.




  1. SQLException :Streng eller binære data vil blive afkortet

  2. Langsom rækkefølge af forespørgsler efter en kolonne i en samlet tabel

  3. Spring Docker container kan ikke få adgang til Postgres Docker container

  4. Opdel strenge ved hjælp af mysql