sql >> Databáze >  >> RDS >> Oracle

Proč nemohu aktualizovat více než jeden sloupec současně pomocí klíčového slova S?

Zdá se, že to funguje (stejně to fungovalo s jednoduchým dotazem pomocí 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)
                                        );

Pokud jde o to, proč to nefunguje, pokud poddotaz začíná „WITH“, mohu si jen představit, že je to proto, že návrháři Oracle SQL s tímto použitím nepočítali.




  1. Nelze okamžitě vidět vložená data z MySQL

  2. PostgreSQL nextval a currval ve stejném dotazu

  3. Šifrování uživatelských dat pro automatické přihlášení do systému třetí strany

  4. Překročen limit rekurze v nerekurzivní proceduře