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

Hvordan fungerer Oracle SELECT FROM dual med flere felter

Den kode, du stødte på, er beregnet til at opdatere en enkelt række eller oprette den, hvis den ikke eksisterer.

DUAL er en speciel systemtabel, der kun indeholder én række. At vælge fra DUAL er en løsning for Oracles manglende evne til at gøre ganske enkelt:

select sysdate;

Bemærk, at det ikke behøver at være dual , det kan være en hvilken som helst tabel med én række eller endda en forespørgsel, der returnerer én række.

select sysdate
  from dual;

svarer til:

select sysdate
  from my_one_row_table;

og

select sysdate
  from my_table
 where my_primary_key = 1;

Siden version 10g er dual tabellen har en speciel adgangssti, der vises i udførelsesplanen som "hurtig dual", hvilket resulterer i 0 konsistente gets, hvilket ikke er muligt at opnå på egen hånd ved hjælp af andre tabeller.



  1. Oracle dokumentation

  2. Hvordan skriver jeg en lagret procedure, som tilføjer en kolonne til en ref-markør fra en anden lagret procedure?

  3. PostgreSQL-udløsere og grundlæggende funktioner i lagrede funktioner

  4. JDBC:Kan jeg dele en forbindelse i en multithreading-app og nyde gode transaktioner?