He escuchado a personas referirse a esta tabla y no estaba segura de qué se trataba.
oracle
dual-table
Brian G
fuente
fuente
Respuestas:
Es una especie de tabla ficticia con un único registro utilizado para seleccionar cuando no está realmente interesado en los datos, sino que quiere los resultados de alguna función del sistema en una declaración de selección:
p.ej
select sysdate from dual;
Ver http://www.adp-gmbh.ch/ora/misc/dual.html
fuente
Es una mesa ficticia con un elemento en ella. Es útil porque Oracle no permite declaraciones como
Puede evitar esta restricción escribiendo
en lugar.
fuente
De Wikipedia
Historia
La tabla DUAL fue creada por Chuck Weiss de Oracle Corporation para proporcionar una tabla para unirse en vistas internas:
Puede que no sea obvio por lo anterior, pero la tabla DUAL original tenía dos filas (de ahí su nombre). Hoy en día solo tiene una fila.
Mejoramiento
DUAL originalmente era una tabla y el motor de la base de datos realizaría el disco IO en la tabla al seleccionar DUAL. Esta E / S de disco generalmente era una E / S lógica (que no implicaba acceso físico al disco) ya que los bloques de disco generalmente ya estaban almacenados en la memoria caché. Esto dio como resultado una gran cantidad de IO lógico contra la tabla DUAL.
Las versiones posteriores de la base de datos Oracle se han optimizado y la base de datos ya no realiza E / S físicas o lógicas en la tabla DUAL aunque la tabla DUAL todavía exista.
fuente
Creo que este artículo de Wikipedia puede ayudar a aclarar.
http://en.wikipedia.org/wiki/DUAL_table
fuente
Es la mesa especial en Oracle. A menudo lo uso para cálculos o para verificar variables del sistema. Por ejemplo:
Select 2*4 from dual
imprime el resultado del cálculoSelect sysdate from dual
imprime la fecha actual del servidor.fuente
Una especie de pseudo tabla en la que puede ejecutar comandos y obtener resultados, como sysdate. También lo ayuda a verificar si Oracle está activo y verificar la sintaxis de SQL, etc.
fuente
Una tabla de utilidades en Oracle con solo 1 fila y 1 columna. Se usa para realizar una serie de operaciones aritméticas y se puede usar generalmente cuando se necesita generar una salida conocida.
SELECCIONAR * DE dual;
dará una sola fila, con una sola columna llamada "DUMMY" y un valor de "X" como se muestra aquí:
fuente
Más datos sobre el DUAL ...
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388
Experimentos emocionantes hechos aquí, y explicaciones más emocionantes de Tom
fuente
La tabla DUAL es una tabla especial de una fila presente de forma predeterminada en todas las instalaciones de bases de datos Oracle. Es adecuado para su uso en la selección de una pseudocolumna como SYSDATE o USER
La tabla tiene una sola columna VARCHAR2 (1) llamada DUMMY que tiene un valor de "X"
Puede leer todo al respecto en http://en.wikipedia.org/wiki/DUAL_table
fuente
DUAL es necesario en el desarrollo PL / SQL para usar funciones que solo están disponibles en SQL
p.ej
fuente
Es un objeto para poner desde el que devuelve 1 fila vacía. Por ejemplo: seleccione 1 de dual; devuelve 1
seleccione 21 + 44 de dual; devuelve 65
seleccione [secuencia] .nextval de dual; devuelve el siguiente valor de la secuencia.
fuente
DUAL usamos principalmente para obtener el siguiente número de las secuencias.
Sintaxis: SELECCIONE 'nombre_secuencia'.NEXTVAL DESDE DUAL
Esto devolverá el valor de una fila una columna (nombre de columna NEXTVAL).
fuente
Otra situación que requiere
select ... from dual
es cuando queremos recuperar el código (definición de datos) para diferentes objetos de la base de datos (como TABLE, FUNCTION, TRIGGER, PACKAGE), utilizando laDBMS_METADATA.GET_DDL
función integrada:Es cierto que hoy en día los IDE ofrecen la capacidad de ver el DDL de una tabla, pero en entornos más simples como SQL Plus esto puede ser realmente útil.
EDITAR
Una situación más general: básicamente, cuando necesitamos usar cualquier procedimiento PL / SQL dentro de una instrucción SQL estándar, o cuando queremos llamar a un procedimiento desde la línea de comandos:
ambas recetas están tomadas del libro 'Oracle PL / SQL Recipes' de Josh Juneau y Matt Arena
fuente
El DUAL es una tabla especial de una fila y una columna presente de forma predeterminada en todas las bases de datos Oracle. El propietario de DUAL es SYS.
DUAL es una tabla creada automáticamente por Oracle Database junto con las funciones de datos. Siempre se usa para obtener las funciones del sistema operativo (como fecha, hora, expresión aritmética, etc.)
fuente