De code die je tegenkwam is bedoeld om een enkele rij bij te werken, of te maken als deze niet bestaat.
DUAL is een speciale systeemtabel met slechts één rij. Kiezen uit DUAL is een tijdelijke oplossing voor het onvermogen van Oracle om eenvoudig te doen:
select sysdate;
Merk op dat het niet dual
hoeft te zijn , het kan elke tabel met één rij zijn of zelfs een zoekopdracht die één rij retourneert.
select sysdate
from dual;
is gelijk aan:
select sysdate
from my_one_row_table;
en
select sysdate
from my_table
where my_primary_key = 1;
Sinds versie 10g is de dual
table heeft een speciaal toegangspad dat in het uitvoeringsplan wordt weergegeven als "fast dual", wat resulteert in 0 consistente geten, wat niet mogelijk is om alleen te bereiken met andere tabellen.