En Oracle existe una tabla llamada DUAL, normalmente se usa para referenciar consultas que no tienen una tabla sino que son resultado de una función; por ejemplo:
Select SYSDATE from dual;
De esta forma podemos saber la fecha del servidor. Pero que pasa si queremos saber que tiene dual podemos hacer lo siguiente:
desc dual
Name Null? Type
----------------------- -------- ----------------
DUMMY VARCHAR2(1)
Claro en realidad DUAL es una table con un solo registro, de esta forma siempre nos devuelve un valor las consultas a dual: Vamoa a hacer un select * from Dual para ver que nos devuelve:
select * from Dual
Y nos retornara una sola fila con un único valor X para la tabla Dual. Supongamos que migramos de oracle a otra base y hacemos uso de la tabla dual o estamos acostumbrados a usarla. Por ejemplo en Postgres no existe esta tabla solo debemos hacer el select si From:
SELECT SYSDATE
o como deberia ser en PostgreSQL
SELECT now()
o
SELECT current_date
Otra solución es crear la tabla DUAL de la siguiente manera:
SELECT SYSDATE
o como deberia ser en PostgreSQL
SELECT now()
o
SELECT current_date
Otra solución es crear la tabla DUAL de la siguiente manera:
CREATE TABLE DUAL
(
DUMMY VARCHAR(1)
)
Luego insertamos el único valor:
INSERT INTO DUAL (DUMMY)
VALUES ('X')
Eso es todo amiguitos...
Dejo link: