Oracle
 sql >> база данни >  >> RDS >> Oracle

Защо не мога да актуализирам повече от една колона едновременно с ключовата дума With?

Изглежда, че това работи (все пак го направи с проста заявка, използваща 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)
                                        );

Колкото до това защо не работи, ако подзаявката започва с „WITH“, мога само да си представя, че това е така, защото дизайнерите на Oracle SQL не са предвидили тази употреба.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL - Съединява Синтаксис/Ключови думи

  2. Преобразувайте новия ред в XML в Oracle Trigger

  3. Превод на Microsoft T-SQL към Oracle SQL

  4. Извлечете конкретна стойност от CLOB (съдържаща XML), като същевременно създавате по един ограничен низ на ред от таблица. CLOB стойността може да е нулева на някои редове

  5. Oracle PL/SQL версия 12.2.0.1.0 срещу 12.1.0.2.0 - незабавно изпълнение с параметри