Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como o Oracle SELECT FROM dual funciona com vários campos


O código que você encontrou destina-se a atualizar uma única linha ou criá-la se ela não existir.

DUAL é uma tabela de sistema especial contendo apenas uma linha. A seleção de DUAL é uma solução alternativa para a incapacidade do Oracle de fazer simplesmente:
select sysdate;

Observe que não precisa ser dual , pode ser qualquer tabela de uma linha ou até mesmo uma consulta que retorne uma linha.
select sysdate
  from dual;

é equivalente a:
select sysdate
  from my_one_row_table;

e
select sysdate
  from my_table
 where my_primary_key = 1;

Desde a versão 10g, o dual table tem um caminho de acesso especial que aparece no plano de execução como "fast dual", o que resulta em 0 obtenções consistentes, o que não é possível obter por conta própria usando outras tabelas.