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

Как Oracle SELECT FROM dual работи с множество полета

Кодът, на който сте попаднали, е предназначен да актуализира единичен ред или да го създаде, ако не съществува.

DUAL е специална системна таблица, съдържаща само един ред. Изборът от DUAL е заобиколно решение за невъзможността на Oracles да направи просто:

select sysdate;

Имайте предвид, че не е необходимо да е dual , може да бъде всяка таблица с един ред или дори заявка, която връща един ред.

select sysdate
  from dual;

е еквивалентно на:

select sysdate
  from my_one_row_table;

и

select sysdate
  from my_table
 where my_primary_key = 1;

От версия 10g, dual таблицата има специален път за достъп, който се показва в плана за изпълнение като „бърз двоен“, което води до 0 последователни получавания, което не е възможно да постигнете сами, като използвате други таблици.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да сравняваме групи от кортежи в sql

  2. Oracle:Използване на CTE с клауза за актуализиране

  3. Oracle изтрива редове от множество таблици

  4. Деактивирайте тригерите и активирайте отново тригерите, но междувременно избягвайте промяна на таблицата

  5. Напишете изглед на Oracle DB на базата на различна разлика във времето на колоната